蓝牙PSKEY的调整
BlueCore
CMOS單芯片方案 在2002年,英國的Cambridge Silicon Radio公司(簡稱CSR)推出了名為BlueCore(藍牙核心)的真正的CMOS單芯片方案(高頻組件+基帶控制器),并成功地把其后繼版本BlueCore 2-External芯片的價格降至5美元以下。最終,促使了藍牙產品的起飛。
Bluecore內部有些配置寄存器,稱為PSKEY,這些寄存器不可隨意更改,因其事關重大,稍有不慎改動便會造成運行的不穩定或無法工作,Bluecore的初始化便是從讀取這些寄存器配置器件開始的,比如UART的使用方式就有RAW,BCSP,H4,H5幾種協議方式,只有RAW這種方式才是可以當正常串口使用的,其他的都有自己特定的傳輸協議,比如HOST Interface可以選擇為USB、UART、NONE等,一旦設置為USB,那么程序中對UART的所有操作都是無效的。
這些都是比較簡單的PSKEY,稍微有些頭腦的人都是可以很容易理解的,但還有一些PSKEY是決定藍牙傳輸特性的,就不是那么容易理解的了,除非對藍牙機制了解得比較透徹,比如ACL鏈路數據緩沖區的大小設置,這個設置大了容易造成運行時內存不夠而死機,小了對傳輸時間有影響,再比如是否支持AFH,支持則建立連接后采用AFH機制,在有干擾的情況下通信特性會好些,再比如是否可以測量RSSI,這是判斷好信道壞信道的一種方式,測量周期是多少,這個周期一到,接收端便會停止正常接收而專對各個信道進行測量評估,限制值是多少,可以判斷這個信道是好的還是壞的,等等這些都是事關重大而且不好調整的,所以一般采用CSR已經調好的默認值,最好不要修改或者修改前考慮下后果再或者在CSR的建議下修改,否則無異于自殺式行為。
在這里強調一下,不要以自己的邏輯來改這些PSKEY,藍牙特性首先遵從于協議機制,然后才會遵從你的邏輯,如果對藍牙的各種協議不是很了解,不要認為邏輯上這么改是沒問題的,因為你的邏輯說不定就違反了哪個協議。所以不要說什么邏輯上應該可以這些話,一定要有這樣的觀點:你的邏輯相比于藍牙協議是不堪一擊的。
由于這些PSKEY事關重大,所以對于Bluecore來說是不可訪問的,對應用程序來說是即不能讀也不能寫,比如Bluecore無法知道自己設備的藍牙地址是多少。那么怎么調整它們呢?因為有的是必須調整的,比如必須禁止低功耗模式否則會對UART通信有影響,方式只有一個:HOST+相應協議。
這些對Bluecore本身不可見的PSKEY是要通過HOST以特定的傳輸方式及協議(如BCSP、USB、SPI)來讀寫的,即對外部主機是可見的,這樣便可以在調試或生產過程中通過主機端進行設置,而且生產完后對這些PSKEY值的訪問接口就不存在了,改不了了,從而保證了產品運行期間的安全可靠性。
?
總結
以上是生活随笔為你收集整理的蓝牙PSKEY的调整的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WinCE串口蓝牙的实现 .
- 下一篇: wince串口蓝牙