劉 品 楊潤生 王永磊 石彥召
【摘要】文章系統地闡述了基于DSP的藍牙無線傳輸系統的硬件和軟件設計原理,并著重闡述了藍牙接口的實現,給出了DSP與藍牙模塊UART和USB兩種接口設計方案。該系統采用BF533與藍牙模塊UART口通信,數據傳輸速率高,傳輸穩定。
【關鍵詞】DSPUART藍牙接口
藍牙技術作為一種低成本、低功耗、近距離的無線通信技術,正廣泛應用于固定與移動設備通信環境中的個人網絡,數據速率可高達1Mb/s;它采用跳頻/時分復用技術,能進行點對點和點對多點的通信[1]。ADSP-BF533是ADI公司Blackfin系列的高速數字信號處理器芯片,基于DSP的藍牙無線傳輸系統設計,利用DSP簡單算法實現對復雜信號的處理,大大提高了系統的數據處理能力;同時信號傳輸用無線代替有線電纜,解決了電纜傳輸存在的弊端,拓寬了系統在較為惡劣的環境或特殊場所的應用。
1 系統總體硬件設計
整個系統硬件主要由ADSP-BF533、ADC模塊、CPLD邏輯控制電路、ROK101 007藍牙模塊以及存儲器組成,其硬件連接如圖1所示:
圖1 系統硬件結構總框圖
如圖1所示,DSP是核心控制器件,它擴展了Flash程序存儲器和SDRAM數據存儲器,FLASH保存DSP所需要的程序,供DSP上電調用;JTAG是DSP的仿真接口;時鐘復位電路提供DSP模塊正常工作所需的時鐘頻率和復位信號;由CPLD組成的邏輯控制模塊接收DSP傳送過來的動作命令,控制A/D轉換模塊進行數據采集,并提供對FIFO的接口時序,實現轉換數據的存儲。這里采用Altera公司的復雜可編程邏輯器EPM3128ATC100-5,其內部電路采用Verilog HDL語言編寫,即可生成相應的操作電路,實現對各種輸入信號的鎖存、判斷和處理,以及對各種命令信號的執行和輸出信號的控制。
ADSP-BF533和藍牙模塊ROK101 007的連接是本系統硬件連接的重點,兩者之間可以采用UART和USB接口兩種方式進行通信,下面將對這兩種通信設計方案進行比較。
2 DSP與藍牙模塊接口電路
2.1 ROK101 007藍牙模塊
ROK101 007是愛立信公司出品的一款適用于短距離通信的無線/基帶模塊。該藍牙模塊集成度高、功耗小,完全兼容藍牙協議v1.1,可嵌入任何需要藍牙功能的設備中。該模塊包含無線收發器(PBA 31301/2)、基帶控制器、閃存、電源管理和時鐘5個功能模塊,可提供高至HCI層的功能。圖2為其內部結構框圖[2]:
圖2ROK101 007內部結構框圖
該模塊還提供有USB、UART和PCM接口,同時支持藍牙語音和數據傳輸,因而能方便地與主機或其他設備進行互連通信。ROK101 007的USB接口符合USB1.1規范,通過雙向端口D+和D-的數據傳輸速率可達到12Mb/s。當使用USB接口與主機通信時,ROK101 007是一個USB從設備。與該接口有關的管腳有:
(1)D+(B1)、D-(B2):用于數據傳輸,其中括號內的字母和數字表示其管腳號(下同);
(2)Wake up(B4)、Detach(C1):專用于與筆記本電腦的互聯,主要用來控制筆記本電腦的狀態。
當主機處于掉電模式時,如果藍牙系統收到建立連接的請求,Wake up信號就會“喚醒”主機。主機的“掛起(suspend)”可通過Detach信號來實現。UART接口ROK101 007的UART接口標準符合工業規范16C450,支持的波特率有(單位:b/s):300、600、900、1200、1800、2400、4800、9600、19200、38400、57600、115200、230400和460800。使用愛立信自定義的HCI命令“HCI Ericsson Set Uart Baud Rate”可改變UART接口的波特率。
該接口中還有128字節的先入先出(FIFO)緩沖器。
與該接口有關的有4個管腳,具體如下:
(1)TXD(B5)、RXD(A5):用于收發數據;
(2)RTS(A6)、CTS(B6):用于數據流控制。
2.2 DSP與藍牙模塊UART口通信設計
串行通信接口通常采用三線制接法,即地、接收數據(RXD)和發送數據(TXD)。DSP與藍牙模塊使用UART口進行通信時,藍牙模塊作為一個DCE,異步串口通信參數可以通過設置ADSP-BF533的內部寄存器來改變,如串口通信速率、有無奇偶校驗、停止位等。由于ADSP-BF533具備異步串行通信端口,而且其工作電壓為3.3V和1.3V,藍牙模塊工作電壓為3.3V,因此,當DSP使用異步串口與藍牙芯片通信時,兩者之間可直接連接,無需電平轉換。其接口電路設計如圖3所示:
圖3 DSP與藍牙模塊UART接口設計
使ADSP-BF533的TX引腳接藍牙模塊的RXD,RX引腳接藍牙模塊的TXD。此外,考慮到系統的通信波特率比較高,數據流量比較大,為了保證傳輸數據的穩定可靠性,系統設計時采用了硬件流控制方式。意即使藍牙模塊的RTS引腳與BF533的I/O端口相連,系統發送數據時首先判斷BF533的I/O端口狀態,從而監視RTS是否“忙”。當接收端數據緩沖區滿,接收端將RTS置為高電平,通知發送端“忙”,請求暫停發送數據,發送端檢測到RTS“忙”則立即暫停發送;相反,當發送端檢測RTS空閑,表明接收端數據緩沖區不滿,發送端繼續發送數據。
2.3 DSP與藍牙模塊USB口通信設計
DSP與藍牙模塊使用USB接口方式進行通信時,要通過USB口轉換電路,然后再與藍牙模塊的USB雙向端口D+和D-相連;當采用藍牙模塊USB口低速連接方式,速率也可達到1.5Mb/s。
DSP模塊USB口轉換電路采用FTDI公司推出的USB芯片FT245BL[3]。該芯片內部固化了實現USB通訊協議的固件程序,對外向用戶提供了相應設備的驅動程序,在與藍牙模塊ROK101 007的USB接口設計中,只需進行必要的硬件設計和簡單的軟件編程就可以實現,這樣就大大降低了開發難度,縮短了開發周期。藍牙模塊與實現USB接口通信相關的引腳主要是D+(B1)和D-(B2),在上節中已有所描述。BF533通過USB芯片FT245BL實現與藍牙模塊的USB接口通信,其詳細的電路設計如圖4所示:
圖4DSP與藍牙模塊USB接口設計原理圖
由圖4可見,FT245BL的8位數據線D7~D0通過終端匹配電阻連接在DSP的低8位數據總線上;RXF用于判斷接收FIFO是否有數據,設計時RXF引腳接DSP的PF3引腳,只要數據大于或等于1個,RXF就為低,通知DSP可以讀取數據;TXE用于判斷發送FIFO是否滿,0為不滿,1為滿,當TXE為0時,外部DSP向發送FIFO緩沖區寫數據,直到發送數據全部寫入;讀RD、寫WR、發送使能TXE信號原本也可以直接與BF533的讀、寫線直接對連,但由于FT245BL芯片沒有片選線,所以RD、WR以及TXE都是經過CPLD內部的USB邏輯電路處理后才連接的。
FT245BL時鐘由外部6MHz晶體振蕩器提供,晶體振蕩器兩端分別通過1個27pF電容接地,組成振蕩網絡。EEPROM接口不連接配置芯片。設計時考慮到FT245BL芯片始終處于正常工作狀態,所以TEST引腳直接接地;同時,SI/WU引腳接3.3V電源,喚醒功能不使用。另外,電源電路增加了旁路和去耦電容,以提高電源的穩定性和抗干擾性能。FT245BL與藍牙模塊連接時,FT245BL的USBDM經33歐姆電阻接ROK101 007的D+,USBPM經33歐姆電阻后接ROK101 007的D-,采用低速通信連接方式;若采用全速通信時,需將FT245BL的USBDP(D+)引腳配置一個1.5K的上拉電阻后連到RSTOUT引腳,使得芯片以全速狀態進行通信。
與UART口進行通信相比,DSP與藍牙模塊采用USB口通信具有數據傳輸速率高、串口通信軟件編程簡單等優點。不過DSP與藍牙模塊USB接口驅動程序的開發比較困難,另外針對不同的DSP和藍牙模塊都需要開發相應的高層驅動程序,工作量很大,通用性也比較差,除特殊需要外,一般不采用這種方式進行數據傳輸。所以本系統中BF533擬與藍牙模塊使用UART口進行通信,下面就其UART口通信軟件設計進行闡述。
3 軟件設計
DSP和藍牙接口的軟件結構分為三個層次[4]:
(1)系統的應用程序;
(2)為藍牙設備開發的設備驅動程序,包括藍牙的高層協議(RFCOMM和L2CAP等);
(3)藍牙基帶部分協議:這部分協議已經固化在藍牙模塊中。
本系統中,由于采用藍牙接口模塊,其中基帶和鏈路管路協議部分由藍牙模塊實現。用戶只需在DSP中編寫數據收發程序即可。
DSP編程的主要任務是初始化并管理板上的資源和實現前端數字信號處理的算法。Visual DSP++是ADI公司提供的用于DSP程序開發的可視化集成開發環境,支持Blackfin系列DSP芯片的編程、調試和開發。DSP中實現下位機藍牙無線傳輸軟件設計流程圖如圖5所示。
系統上電復位后,首先完成系統初始化操作,包括ADSP-BF533的初始化和藍牙模塊的初始化。ADSP-BF533自身的初始化包括配置RAM塊,設置I/O模式、定時器模式、中斷等;然后等待接受上位機藍牙模塊發送的控制命令,完成與上位機的建立連接、數據傳輸、斷開連接等操作。ADSP-BF533的程序存儲器中存有常用的數字信號處理算法,它在收到上位機通過藍牙發送的控制信息后,在中斷函數中選擇某種處理算法,同時向CPLD發出動作命令,控制A/D轉換模塊完成信號的采集并將采集到的數據存入FIFO中。當FIFO中數據達到半滿時,向ADSP-BF533提出中斷申請,ADSP-BF533響應此中斷,在中斷函數中實現對部分采樣數據的讀取,在主循環程序中根據上位機選定的處理算法完成數據的前端處理,然后將數據打包,通過藍牙傳輸給上位機。
4 結語
與傳統的數據采集傳輸系統相比,基于DSP的藍牙無線傳輸系統,核心處理器的選型上采用數字處理能力強大的DSP芯片,無線傳輸技術上采用目前技術比較成熟、應用領域比較廣泛的藍牙技術來實現。通過比較,該系統中BF533擬與藍牙模塊使用UART口進行通信。不過,系統要在工業現場,特別是在裝備檢測領域得到推廣應用,還需要根據實際測試需求做大量的工作。
參考文獻
[1]金純,等. 藍牙技術[M]. 北京: 電子工業出版社, 2001.
[2]錢志鴻,等. 藍牙技術原理、開發與應用[M]. 北京: 北京航空航天大學出版社,2006.
[3]FT245BL USB FIFO (USB - Parallel) I.C[P]. Future Technology Devices Intl.Ltd, 2005.
[4]汪安民,等. DSP嵌入式系統開發典型案例[M]. 北京: 人民郵電出版社,2007.★
【作者簡介】
劉 品:軍械工程學院火控教研室碩士研究生,研究方向:控制理論與控制工程。
楊潤生:教授,軍械工程學院火控教研室碩士研究生導師,研究方向:武器系統仿真與應用。
王永磊:軍械工程學院雷達教研室碩士研究生,研究方向:信號與信息處理。