柴義龍 陳偉利 趙俊欽
(吉林建筑大學電氣與計算機學院,吉林 長春 130000)
隨著社會的發展,人們生活中電器設備的增多,室內復雜的布線設計帶來的安全隱患,使實現設備的無線化成為邁向未來智能家居生活的重要一步,同時減少使用線路線材也是未來社會實現綠色經濟環保的發展趨勢。本設計針對有線電器設備通訊連接問題,將基于USB 協議轉化技術實現成本低廉、操作簡易、即插即用的無線化藍牙模塊設計,通過USB 協議實現接受數據信息并轉化為藍牙協議進行數據傳輸,實現電器設備通訊無線化,推進現代化生活建設,方便人們的生活。
本設計致力于實現通過USB 協議轉換藍牙協議進行數據傳輸,實現有線電器的無線化。由于USB 接口協議具有4 種傳輸模式,每種傳輸方式都有各自特點,不同操作系統的驅動程序也不同,因此為簡化模塊設計程序,使用高可配置性的FPGA芯片作為主控芯片,其不僅易于維護、方便移植、升級、擴展,同時FPGA 具有可以隨時改變邏輯功能,可將各種端接匹配元件整合到器件內部,有效降低BOM 成本,有效降低布局布線難度。這里無線化藍牙模塊采用性能較好的FT601 芯片,其不僅提供支持USB 協議的接口,而且無需考慮固件設計以及驅動程序的編寫,開發簡易,周期較短,而且其數據傳輸速率完全滿足本設計在數據傳輸方面的需求。數據傳輸過程是首先由終端1通過USB 協議發送數據信息到達接口芯片1,再通過由接口芯片和FPGA 組成的基于FPGA 的協議轉換系統轉化為符合藍牙協議的數據,再將數據通過藍牙配對傳輸至終端2,實現電器設備通訊數據傳輸無線化。
USB 接口設計采用FT601 芯片,是FTDI 最新推出的USB3.0 to FIFO interface IC,可實現USB3.0 與16/32bit 并行IO 接口之間的數據傳輸。芯片支持1.8V、2.5V、3.3V 共3 種IO電壓,同時支持USB3.0、USB2.0 傳輸,支持2 種FIFO 傳輸協議,通過16bit 或32bit 并行數據線和讀寫狀態可實現與CPU/FPGA的數據交換,可以進行數據的大吞吐量操作,另外支持遠程喚醒功能。整個USB 通信協議全部由芯片驅動自行完成,開發者無須考慮USB 底層固件的編程,能夠明顯降低制板加工工藝,簡化系統設計[1]。FT601 芯片結構示意圖如圖1 所示[2]。

圖1 FT601 芯片結構示意圖
FT601 芯片主要是通過接口將數據傳輸至FPGA,通過在FPGA 和FT601 間接入32 根數據線,同時接入9 根信號線來保障信號的傳輸速率。另外如圖2 所示,設計了喚醒電路和復位電路來解除當FT601 芯片沒有進行通信時的低電模式[3]。

圖2 FT601 喚醒電路和復位電路
如圖3 所示,通過無線化藍牙模塊插入到前端設備有線電器USB 接口,同時為了方便實現數據處理的算法,經由FT601接口芯片,將根據USB 協議接收的數據流轉換成FPGA 系統可接受的信號,然后進入到分布式FIFO 緩存,數據轉換模塊進行數據處理,然后進入藍牙FIFO 緩存,最后按照藍牙協議通過藍牙配對連接藍牙設備進行輸出。

圖3 協議轉換數據傳輸鏈路
協議轉換處理流程主要可以分解析、匹配、映射、處理、重組五大部分。軟件定義可編程協議轉換系統框架如圖4,該系統由軟件定義控制器、軟件定義協議解析端口、可編程指令處理模塊、緩存模塊、存儲模塊、軟件定義數據重組模塊六大模塊組成[4]。

圖4 協議轉換系統結構框圖
軟件定義控制器是通過編程命令實現整個系統正常運行的的關鍵模塊,將控制平面與其它模塊平面分開,通過控制平面編程命令語言,實現對其它各個模塊的實時集中控制,這樣就無需改變設備硬件結構框架,只要通過對軟件定義控制器進行編程,即可完成對整個系統的實時控制。
軟件定義協議解析端口對源數據包處理流程如圖5 所示,協議轉換過程中不包含對數據包負載內容的處理,而首先通過抽取一定比特的包頭數據并識別數據信息類型來實現靈活的數據包解析[5],進而實現把異構協議部分的數據幀頭信息轉換為通用描述符[6]結構,將復雜的協議簡單化,從而只需處理模塊主要處理數據轉換后形成的簡易型通用描述符即可。對于協議無關的數據包解析,只需將協議轉換映射字段以及相關標志信息整合到通用描述符中,從而降低協議轉換難度,提高協議轉換效率。

圖5 數據包處理流程
可編程指令處理模塊采用可編程ALU 指令[7],通過命令語言編程實現提取關鍵字段,從而根據匹配表進行匹配操作,匹配成功后通過對通用描述符結構進行增加,替換以及刪除等操作處理,完成對該模塊傳入數據的協議轉換處理過程。
存儲模塊將根據該模塊固定存儲的已編輯的命令語言和USB 協議與藍牙協議的映射關系表以及通用描述符關鍵字段的匹配表,進而存儲軟件定義控制器需要的各類控制信息和可編程指令處理模塊需要的數據指令信息。
緩存模塊主要用于存儲數據包中解析分離出的負載內容,待到數據重組并發送后將清除這些已用緩存數據。
軟件定義組據重組模塊將從緩存模塊中提取出的負載內容和協議轉換后的數據組合為新的數據幀并進行發送。
為保證不同時鐘域數據傳輸的真實有效性和高度準確性,如圖6,該模塊設計采用FIFO(先進先出)隊列存儲[8]的設計方式,如果收到數據緩存信號則會利用存儲單元進行數據緩存,再進行數據傳輸,同時當預存空間滿時則會停止接收數據,反之沒有收到數據緩存信號則會丟棄預先緩存的數據,從而避免出現數據雜亂無效的情況,有效提高數據傳輸效率。

圖6 FIFO 控制邏輯圖
本次設計是設計出價格低廉、低功耗、小體積、數據共傳、便捷萬用的無線化藍牙控制模塊,減少電器間的線路連接,使室內設計更加簡約。本設計難免存在不妥之處,希望接下來能對之實施進一步有效開發,切實實現理論和實踐相結合,對之進行科學調整,相信隨著藍牙通訊和無線化技術的快速發展,未來電器也將會更加智能、便捷、高效,促進人們生活方式的多樣化,實現更好的無線化環境將是指日可待。