Presentation is loading. Please wait.

Presentation is loading. Please wait.

Verifying Bandwidth on CC2650 BLE

Similar presentations


Presentation on theme: "Verifying Bandwidth on CC2650 BLE"— Presentation transcript:

1 Verifying Bandwidth on CC2650 BLE
Min-ju Kang RTLAB

2 Contents Introduction GATT_write_ API Test & Result Conclusion
Further Work

3 Introduction Goal : Send Voice data over BLE on CC2650
 Verify Bandwidth 1Mbps Peripheral Server Central Client BLE

4 GATT_write_ API GATT_writeCharValue GATT_writeNoRsp
GATT_writeLongCharValue

5 Sequence GATT_writeCharValue GATT_writeLongCharValue GATT_writeNoRsp

6 Code – GATT_writeCharValue
MAX : 19Byte //Use characteristic 6 UUID attWriteReq_t req; req.pValue = GATT_bm_alloc(connHandle, ATT_WRITE_REQ, SIMPLEPROFILE_CHAR6_LEN, NULL); if(req.pValue != NULL) { req.handle = charHd; req.len = SIMPLEPROFILE_CHAR6_LEN; memcpy(req.pValue, pSendDataChar6, SIMPLEPROFILE_CHAR6_LEN); req.pValue[0] = sendCount; //0~53 req.sig = 0; req.cmd = 0; Status = GATT_WriteCharValue(connHandle, &req, selfEntity); } Client

7 Code – GATT_writeNoRsp
MAX : 19Byte //Use characteristic 6 UUID attWriteReq_t req; req.pValue = GATT_bm_alloc(connHandle, ATT_WRITE_REQ, SIMPLEPROFILE_CHAR6_LEN, NULL); if(req.pValue != NULL) { req.handle = charHd; req.len = SIMPLEPROFILE_CHAR6_LEN; memcpy(req.pValue, pSendDataChar6, SIMPLEPROFILE_CHAR6_LEN); req.pValue[0] = sendCount; //0~53 req.sig = 0; req.cmd = 1; Status = GATT_WriteNoRsp(connHandle, &req); } Client

8 Code – GATT_writeLongCharValue
MAX : 90Byte //Use characteristic 7 UUID attPrepareWriteReq_t preReq; preReq.pValue = GATT_bm_alloc(connHandle, ATT_PREPARE_WRITE_REQ, SIMPLEPROFILE_CHAR7MAX_LEN, NULL); if(preReq.pValue != NULL) { preReq.handle = charHd; preReq.len = SIMPLEPROFILE_CHAR7MAX_LEN; memcpy(preReq.pValue, pPreSendDataChar7, SIMPLEPROFILE_CHAR7MAX_LEN); preReq.pValue[0] = sendCount; //1~11 preReq.offset = 0; longStatus = GATT_WriteLongCharValue(connHandle, &preReq, selfEntity); } Client

9 Code - simpleProfile_WriteAttrCB
case SIMPLEPROFILE_CHAR7_UUID: if ( status == SUCCESS ) { uint8 *pCurValue = (uint8 *)pAttr->pValue; memcpy( pCurValue, pValue, SIMPLEPROFILE_UNIT_LEN ); memcpy( simpleProfileTotal+totalLen, pCurValue, SIMPLEPROFILE_UNIT_LEN); if(pAttr->pValue == simpleProfileChar7) notifyApp = SIMPLEPROFILE_CHAR7; totalLen += SIMPLEPROFILE_UNIT_LEN; if(pAttr->pValue[0] == 12) compareLen = SIMPLEPROFILE_CHAR7LAST_LEN; if(totalLen >= compareLen) totalLen = 0; } break; MAX : 18Byte // Simple Char or Without Rsp case SIMPLEPROFILE_CHAR6_UUID: //Write the value if ( status == SUCCESS ) { uint8 *pCurValue = (uint8 *)pAttr->pValue; memcpy( pCurValue, pValue, SIMPLEPROFILE_CHAR6_LEN ); if(pAttr->pValue == simpleProfileChar6) notifyApp = SIMPLEPROFILE_CHAR6; } break; MAX : 19Byte Server

10 Test & Result

11 Test & Result Test Stationary Condition Total data : 1026 byte
Connection interval : 8.75ms GATT_ MAX Data Send Count writeCharValue 19 Byte 54 writeNoRsp writeLongCharValue 90 Byte (Unit : 18 Byte) (36Byte)

12 Test & Result – GATT_writeCharValue
Total Time : seconds Bandwidth : 13 Kbps (bits/sec)

13 Test & Result – GATT_writeNoRsp
Total Time : seconds Bandwidth : Kbps

14 Test & Result – GATT_writeLongCharValue
90 Byte * 11번 + 36 Byte = 1026 Byte

15 Test & Result – GATT_writeLongCharValue
90 Byte * 11번 + 36 Byte = 1026 Byte Total Time : seconds Bandwidth : 8.21Kbps

16 Conclusion

17 Automatically divide data
Conclusion Total Data : 1KByte GATT_ Unit Data Time [sec] Bandwidth [Kbps] Pros and Cons Usage writeCharValue 19 Byte 13 Basic Critical Data writeNoRsp 31.38 Without response Voice Data writeLongCharValue 90 Byte 8.21 Automatically divide data Execute Write Req & Rsp

18 Further Work Find How to use Voice data file.
Define Protocol and Data. Test for sending Voice data.


Download ppt "Verifying Bandwidth on CC2650 BLE"

Similar presentations


Ads by Google