新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 藍(lán)牙HCI-UART主控制接口的FPGA設(shè)計(jì)與實(shí)現(xiàn)

藍(lán)牙HCI-UART主控制接口的FPGA設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2010-12-08 來(lái)源:網(wǎng)絡(luò) 收藏

  3 設(shè)計(jì)

  主機(jī)與模塊之間使用指令——應(yīng)答的方式進(jìn)行,主機(jī)向主機(jī)控制器發(fā)送指令分組,主機(jī)控制器執(zhí)行某一指令后,大多數(shù)情況下會(huì)返回給主機(jī)一個(gè)指令完成事件分組,該分組攜帶有指令完成的信息。如果指令分組參數(shù)有誤,返回的指令狀態(tài)事件分組就會(huì)給出相應(yīng)的錯(cuò)誤代碼。主機(jī)與主機(jī)控制器間的數(shù)據(jù)交換則通過(guò)數(shù)據(jù)分組實(shí)現(xiàn)。主控制器系統(tǒng)原理框圖如圖2 所示。

  圖2

  3.1 UART 的設(shè)計(jì)

  UART 的設(shè)計(jì)主要包括三個(gè)部分:發(fā)送器、接收器和波特率發(fā)生器,設(shè)計(jì)采用分模塊完成[10]。

  (1)波特率發(fā)生器:

  UART 的數(shù)據(jù)接收和發(fā)送是通過(guò)對(duì)波特率的設(shè)置進(jìn)行實(shí)現(xiàn)的。波特率發(fā)生器采 用分頻器實(shí)現(xiàn),分頻得到一個(gè)頻率為波特率16 倍的波特率時(shí)鐘clk_baud,分頻數(shù)N 計(jì)算公式如(1)所示, 其中clk_sys 表示系統(tǒng)時(shí)鐘,baudrate 為UART 的波特率。

 ?。?)發(fā)送器模塊:

  檢測(cè)到發(fā)送信號(hào)時(shí),裝載數(shù)據(jù),根據(jù)數(shù)據(jù)產(chǎn)生奇偶校驗(yàn)位,按協(xié)議幀的格式的要求依次發(fā)送起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位,并產(chǎn)生各種控制信號(hào)。整個(gè)發(fā)送過(guò)程采用有限狀態(tài)機(jī)實(shí)現(xiàn),分成五個(gè)狀態(tài)(空閑idle,發(fā)送起始位send_start,發(fā)送數(shù)據(jù)send_data,發(fā)送奇偶校驗(yàn)位 send_parity,發(fā)送停止位send_stop),具體過(guò)程如圖3 所示。

  圖3 發(fā)送器狀態(tài)圖



關(guān)鍵詞: 藍(lán)牙 HCI-UART FPGA Verilog 通信

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉