본문 바로가기
임베디드.일렉트로닉스

Dialog 사. DA1458x DSPS device 측 룹백구현.

by 리치굿맨 2015. 9. 7.

 

 

개요.

 

Dialog 사의 DSPS device 프로젝트를 수정하여 룹백 구현방법.

룹백이라 함은 host 측에서 송신한 데이터를 DSPS device 에서 수신한 경우 이 데이터를 그대로 다시 송신하는 것을 말한다.

device 측이 UART TX핀을 RX핀으로 결선하는 방식이 아닌 코드 내에서 수신한 데이터를 바로 송신데이터로 넘기는 것을 구현한다.

 

이를 구현하기 위해서, DSPS 의 내부 데이터 처리 구조를 이해하고 있어야 하며, 아래 다이어그램이 전체 흐름을 보여준다.

from : DSPS 메뉴얼 page 11 http://support.dialog-semiconductor.com/download/file/fid/895

 

 

 

BLE  로 수신된 데이터는 버퍼 bletouart_buffer 에 저장되며, 이 버퍼에 데이터가 있는 경우 UART TX 핀으로 출력된다.

UART RX 핀으로 인가된 데이터는 uarttoble_buffer 에 저장되며, 이 버퍼에 데이터가 있는 경우 BLE측으로 전송된다.

 

룹백을 구현한다함은 2가지 방식이 가능하다.

방식1. 상기 그림에서 UART Tx 직전 단에서 버퍼에 있는 데이터를 UART Tx 로 출력하지 않고 uarttoble_buffer 에 저장하는 방식. 버퍼활용하는 방식.

방식2. 상기 그림에서 BLE로 수신된 데이터를 버퍼로 넣기 전에 BLE_TX 로 전송하는 방식. 버퍼 활용하지 않는 방식.

 

본 글에서 방식1부터 먼저 정리한다.

 

 

 

 

 

 

버퍼활용방식의 루프백 구현 시험1.

 

 버퍼 활용방식에서는 bletouart_buffer 에서 데이터를 꺼내서 UART Tx 로 출력하지 않고 이 데이터를 uarttoble_buffer 로 데이터를 인가하도록 하면 된다.

 

 

시험환경.

즉, 하이퍼 터미널 <-> BLE <-> BLE(안드로이드 DSPS앱)

ble의 uart tx,rxrts, cts 를 PC하이퍼 터미널에 연결하고, 하이퍼터미널에서는 115200bps, 하드웨어 흐름제어 선택한 상황.

 

첫시험코드를 아래 처럼 해봤다.

요점.

bletouart_buffer 에서 데이터를 읽기하는 app_uart_pull 함수에서 읽어온 데이터를 그대로 uarttoble_buffer 로 전송하려는 의도이다.

시험결과1.

아래 녹박부분을 살려둔상태( 즉 UART TX로 출력 되는 상태) 에서는 아래 붉은 박스속의 함수 2개 중 어떤것을 사용하든

DSPS앱에서 송신한 데이터는 UART TX로도 출력되고(즉, 하이퍼터미널에 데이터 출력), 붉박에 의하여 BLE칩은 DSPS앱에서 보낸 데이터를 그대로 BLE로 다시 전송하여 DSPS앱에서 수신되게 된다. 즉 DSPS 앱의 출력데이터는 즉시 DSPS로 다신 수신되는 룹백 정상작동한다.

주요 정보.

1. 아래 코드 중 녹박부분 (UART TX 출력)을 주석처리하면 붉박 부분 코드만으로는 위 시험결과 처럼 DSPS앱의 출력데이터는 DSPS로 수신되지 않았음.

(처음 1회 1개의 글자는 보였으나 이후 안보임.)

2. 하이퍼터미널을 끈 경우엔 DSPS앱에서 출력한 데이터는 DSPS로 수신되지 않음. 아래 파박 부분은 실행되고 있음.

<- 즉, 아래 붉박부분의 코드가 실행이 되지 않으며 하이퍼 터미널을 작동시키지 않았다는 점이 영향을 주는 이유는 아마 BLE측 펌웨어가 하드웨어 플로우 컨트로롤 사용하는 모드로 설정된 상태에서 BLE UART 핀에서 플로우 컨트롤 핀의 값이 정상적으로 작동하지 않아서 그런가 추정하고 있으나 명확하진 않다. uarttoble_buffer 에 데이터 기록하면서 뭔가의 처리를 더 해줘야 하는데 하지 않아서 정상송신 되지 않은 것일 수도 있다.

 

 

 

 

 

 

 

///422.

댓글0


.    
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     .