手頭工作堆得越多矮冬,說明效率越低。好容易將書稿交出去了次哈,和電子工業(yè)出版社的事情算是可以告一段落了胎署。手頭卻有其他事情,而且遭遇到不少瓶頸窑滞。
- SPI驅(qū)動:CC1101 + STM32/LPC824的工程硝拧,涉及到朋友委托以及ESL升級項目。原來打算驗證一下mbed驅(qū)動葛假,然后直接構(gòu)建MAC和高層應(yīng)用,現(xiàn)在看來CC1101的SPI驅(qū)動還不過關(guān)滋恬,無論是單獨讀寫聊训、批量讀寫,錯誤狀態(tài)都很難歸納恢氯,不知是否和RDYmosi引腳有關(guān)带斑。解決方案是采用邏輯分析儀去抓總線狀態(tài)鼓寺。
- BLE/UART:無論是CC1101/LoRa/智能門鎖,最終和手機本地連接的就是BLE勋磕,但是目前無論是Nordic SDK還是mbed Kit妈候,都有問題。解決方案是采用最新的SDK和mbed去再次嘗試挂滓。
- ECDHE: WiFi連接云端苦银,需要解決AES密鑰生成的問題,目前ECDHE在Python中已經(jīng)驗證過了赶站,但是時間較長幔虏,純Python代碼單次計算7秒。解決方案是在GCC x86/GCC-ARM-embedded中做驗證贝椿。實在速度不行想括,可以采用ECC加速IC,或使用RFID輕量級的雙向認證烙博。
- LoRa固件:雖然提供了Ping-Pong固件瑟蜈,但是實際能夠做設(shè)計的,應(yīng)該是ALOHA固件和LoRaWAN固件渣窜,此外還需要提供SCPI固件做網(wǎng)絡(luò)監(jiān)控測試铺根。
發(fā)現(xiàn)還都是與通訊連接技術(shù)相關(guān)的問題,屬于自己的本職工作图毕。
更新
CC1101的SPI驅(qū)動有別于SX1278/MFRC522之類的器件夷都,其內(nèi)部寄存器還分為配置寄存器(可讀寫),狀態(tài)寄存器(只讀)和命令選通(Command Strobe)予颤。SPI還分為單字節(jié)讀取和脈沖式讀取囤官,最要命的是狀態(tài)寄存器和命令選通共享同一地址,是通過脈沖標志位來區(qū)分蛤虐。換而言之党饮,脈沖位也是高位地址。所以驳庭,狀態(tài)寄存器必須采用脈沖讀取方式才是正確的刑顺。測試下來,CC1101配置寄存器可以正常讀寫饲常,支持單字節(jié)和脈沖讀榷滋谩;狀態(tài)寄存器支持脈沖讀缺从佟柒竞;命令選通支持單字節(jié)方式。這或許就是困擾我這些天的原因之一播聪。