蔣 軍(昆明船舶設備設計研究中心,昆明 650051)
?
一種非接觸式紅外通訊電路設計與實現
蔣 軍
(昆明船舶設備設計研究中心,昆明650051)
摘 要:為解決水下設備連接器采用分離式水密插座在長期插拔使用過程中會出現接觸不良以及在水下使用過程中會出現金屬電化學腐蝕的問題,采用一種非接觸式紅外通訊電路設計方式。通訊電路裝置由兩個電路組件構成:對接電路插頭和對接電路插座,它們分別密閉在一種特殊的透光材料中。數據通訊采用符合IrDA1.2低功耗物理層規范的紅外收發管實現,控制芯片采用英飛凌16位單片XC164CM作為其處理器,信息觸發單元由一個電磁鐵和干簧管組成,電源部分采用帶控制端的電源模塊。硬件電路設計完成非接觸式紅外通訊系統,軟件程序設計保證數據通訊正常運行。實驗測試結果證明,在混濁水中也能滿足使用要求,具有一定的實用性和應用價值。
關鍵詞:單片機;RS232串口;CAN協議;電磁鐵;紅外通訊;串行存儲器
水下設備入水前都需要裝訂參數和指標,因而設備連接器的性能及可靠性越發重要。目前普遍采用的是分離式水密插座,這種方式長期使用會出現接觸不良的問題,嚴重的還會出現插針被弄彎造成無法使用,插頭及插座在水下也會存在電化學腐蝕問題,因而考慮采用一種非接觸式紅外通訊電路設計方式。
非接觸式紅外通訊電路是基于水下設備連接需求提出,以避免傳統連接器應用過程中的不足,其結構采用兩個完全獨立密封的電路組件組成。這兩個電路組件在物理上非接觸,數據通訊使用紅外光進行傳輸,采用的紅外收發管符合IrDA1.2低功耗物理層規范[1]。其電路組件的外部結構件采用透光樹脂材料,性,幾乎不存在電化學腐蝕。非接觸式紅外通訊裝置電路的觸發采用磁耦合方式,需要進行通訊時只需由對接電路插頭端通電產生一定的磁通量去觸發。
非接觸式紅外通訊電路裝置由兩個電路組件構成:對接電路插頭和對接電路插座,如圖1所示。對接電路插頭和對接電路插座包含磁觸發單元、磁感應單元、信息存儲單元、紅外收發管以及相應的通訊接口電路。磁觸發單元與磁接收單元完成信息觸發對接,紅外收發管以及相應的接口電路執行數據通訊,信息存儲單元保證相關重要信息和命令記錄,微處理器實現通訊信息、命令、參數的有效傳輸和記錄。

圖1 非接觸式紅外通訊系統結構圖
非接觸式紅外通訊電路裝置設計為滿足結構體積小、數據通訊類型多樣等特點,采用英飛凌16位單片CMOS微控制器系列的增強型產品XC164CM作為其中央處理器。XC164CM[2]是16位微控制器的第四代產品,在MAC單元中加入DSP功能處理數字濾波器算法,大大縮短了乘除運算的時間,大多數指令為單周期指令。可通過片上調試支持單元(OCDS)對目標系統進行調試。微控制器XC164CM體積小,采用小型PG-TQFP64封裝,具有豐富的片上系統資源(內置2KB雙口RAM、2KB片上程序SRAM、2KB的片上高速數據SRAM、64KB片上Flash程序存儲器),同時囊括大量外設模塊,具體性能如下:①兩個通用定時器模塊(GPT1和GPT2);②兩個異步/同步串行接口(ASC0和ASC1);③兩個高速串行接口(SSC0和SSC1);④一個看門狗定時器;⑤一個捕獲/比較單元(CAPCOM2);⑥增強型捕獲/比較單元(CAPCOM6);⑦一個10位模數轉換器(ADC);⑧一個實時時鐘(RTC);⑨四個I/O端口,共47根I/O線;⑩LXBus是外部總線的內部標識,不支持位尋址,通過EBC訪問與LXBus連接的片上資源,如同訪問片外資源一樣,LXBus將片上外設連接到CPU;○11TwinCAN模塊,具有兩個CAN節點和網關功能。
3.1對接電路插頭硬件設計
對接電路插頭有4個功能:①單片機XC164CM對上位機串口和紅外收發管的數據進行接收及發送;②通過紅外收發管對通訊數據進行收發;③電磁鐵觸發對接電路插座觸發上電;④串行存儲芯片M25P80存儲相關通訊數據[3]。對接電路插頭硬件電路由電源模塊、單片機XC164CM、電磁鐵、紅外收發管、串行存儲芯片M25P80以及其它相關電路構成,具體結構示意圖如圖2所示。

圖2 對接電路插頭硬件結構框圖
單片機XC164CM有兩個串行異步接口(可設置成紅外通訊模式),可以直接進行電路連接:一個與上位進行通訊,一個與紅外收發管進行連接,這部分電路不作具體介紹。串行FLASH存儲芯片是通過ISP接口與單片機連接,由于XC164CM的I/O電平是5V,而芯片M25P80供電為3.3V考慮電平兼容性在電路連接上需要加入電平轉換芯片SN74LVC2T45。根據電磁鐵的特性不能長時間通電,因而電路中加入電磁鐵斷電電路,具體電路圖如圖3所示。

圖3 電磁鐵斷電電路圖
3.2對接電路插座硬件設計
對接電路插座有5個功能:①單片機XC164CM對紅外收發管和CAN通訊的數據進行接收及發送;②通過紅外收發管對數據進行收發;③磁接收單元對電磁鐵產生的磁場進行感應;④由串行存儲芯片M25P80存儲相關數據;⑤通過CAN通訊協議芯片將數據發送給相關控制器。對接電路插座硬件電路由帶控制的電源模塊、單片機XC164CM、磁接收單元、紅外收發管、串行存儲芯片M25P80以及其它相關電路構成,具體結構示意圖如圖4所示。

圖4 對接電路插座硬件結構框圖
單片機XC164CM將一個串行異步接口設置成紅外通訊模式直接連接紅外收發管,將TwinCAN模塊的一個CAN節點與對應的CAN通訊芯片連接,配置串行FLASH存儲芯片是通過ISP接口與單片機連接[4]。同樣由于XC164CM的I/O電平是5V,而芯片M25P80供電為3.3V,考慮電平兼容性,在電路連接上需要加入電平轉換芯片SN74LVC2T45。由于本電路組件需要待機,即沒有電磁鐵對其進行觸發上電時,整個電路不能有電,為此需要對帶控制端的電源模塊進行相應的電路設計,具體電路如圖5、圖6所示。

圖5 電源控制端電壓圖

圖6 帶控制端電源電路圖
在微處理器XC164CM軟件中,采用KEIL3集成開發環境,英飛凌公司提供DAvE軟件為嵌入式軟件開發提供方便。DAvE軟件在XC164CM嵌入式軟件開發、各功能寄存器應用設置中為開發者提供各相關寄存器的設置值,并快捷生成相應的code。非接觸式紅外通訊電路裝置是由對接電路插頭和對接電路插座組成,因而其軟件程序也分成對接電路插頭軟件程序和對接電路插座軟件程序[5-7]。
4.1對接電路插頭軟件程序設計
對接電路插頭軟件具備與上位機通訊以及紅外通訊功能,同時兼備指令、數據記錄功能。為了方便軟件維護及相關功能擴展,程序采用模塊化設計,模塊完成個自獨立的功能,根據其功能要求可分為:初始化程序模塊、上位機通訊模塊、數據存儲模塊、紅外收發模塊、電磁鐵斷電模塊。具體流程圖如圖7所示[8-9]。

圖7 對接電路插頭軟件流程圖
主要程序模塊如下:
void ASC0_vInit(void);//紅外通訊初始化
void ASC1_vInit(void);//上位機通訊初始化
void IO_vInit(void);//I/O初始化
void ASC0_vReceiverOn(void);//紅外數據接收啟動
void ASC1_vReceiverOn(void);//上位機數據接收啟動
void ASC0_viRx(void);//紅外數據接收
void ASC1_viRx(void);//上位機數據接收
void DianChiTieOff(void);//電磁鐵斷電
voidASC0_vSendData(uword uwData);//紅外數據發送
voidASC1_vSendData(uword uwData);//上位機數據發送
void M25P80_SPI_Write8Data(uchar temp8);//向m25p80寫入數據,實現SPI總線的8位數據寫操作,上升沿寫數據
void M25P80_WriteEnable(void);//寫入寫使能
void M25P80_SPI_Write24Add(long temp24);//向m25p80寫入數據,實現SPI總線的24位地址數據寫操作,上升沿寫數據
void M25P80_Read(void);//從M25P80讀出數據,實現SPI總線的8位數據讀操作
uchar M25P80_ReadReg(void);//讀功能寄存器
void M25P80_Check();//檢查數據是否寫入完成
4.2 對接電路插座軟件程序設計
對接電路插座軟件具備與相關控制器CAN通訊以及紅外通訊功能,同時兼備指令、數據記錄功能。為了方便軟件維護及相關功能擴展,程序采用模塊化設計,模塊完成各自獨立的功能,根據其功能要求可分為:初始化程序模塊、CAN通訊模塊、數據存儲模塊、紅外收發模塊、電源自保持模塊。具體流程圖如圖8所示。

圖8 對接電路插座軟件流程圖
主要程序模塊如下:
void ASC0_vInit(void);//紅外通訊初始化
void CAN_vInit(void);//CAN通訊初始化
void IO_vInit(void);//I/O初始化
void ASC0_vReceiverOn(void);//紅外數據接收啟動
void ASC1_vReceiverOn(void);//上位機數據接收啟動
void ASC0_viRx(void);//紅外數據接收
void ASC1_viRx(void);//上位機數據接收
void DianChiTieOff(void);//電磁鐵斷電
void ASC0_vSendData(uword uwData);//紅外數據發送
void ASC1_vSendData(uword uwData);//上位機數據發送
void M25P80_SPI_Write8Data(uchar temp8);//向m25p80寫入數據,實現SPI總線的8位數據寫操作,上升沿寫數據
void M25P80_WriteEnable(void);//寫入寫使能
void M25P80_SPI_Write24Add(long temp24);//向m25p80寫入數據,實現SPI總線的24位地址數據寫操作,上升沿寫數據
void M25P80_Read(void);//從M25P80讀出數據,實現SPI總線的8位數據讀操作
uchar M25P80_ReadReg(void);//讀功能寄存器
void M25P80_Check();//檢查數據是否寫入完成
裝置的技術難點在于電磁鐵的磁場作用距離以及其對應觸發元件器的可靠性。考慮到電磁鐵通電時間長會產生大量熱量,因而設計了斷電電路,為了保證對接電路插座在觸發后電源模塊能可靠供電輸出,設計了電源模塊的自保持電路。整個電路裝置設計已研制成功,通過大量的數據測試表明該電路裝置的通信數據收發正常。
參考文獻:
[1]趙海蘭.紅外學習機的設計原理及應用[J].電子世界,2004(12):25-26.Zhao Hailan.The design principle of infrared learning machine and its application[J].the electronic world,2004 (12):25-26.
[2]Infineon Technologies AG,XC164CM DATA SHEET [R].(2006-03)http://www.infineon.com.
[3]STMicroelectronics group,M25P80 DATA SHEET[R].(2007-7-15)http://www.st.com.
[4]孫曉華.PIC單片機與串行閃存的SPI接口設計[J].中電網,2010(5):33-34.Sun Xiaohua.PIC microcontroller and serial flash SPI interface design[J].China electrified net,2010(5):33-34.
[5]饒運濤,鄒繼軍,鄭勇蕓.現場總線CAN原理及應用技術[M].北京:北京航空航天大學出版社,2003.Rao Yuntao,Zou Jijun,Zheng Yongyun.Field bus CAN principle and application technology[M].Beijing:Beihang University press,2003.
[6]王黎明,夏立,邵英,等.CAN現場總線系統的設計與應用[M].北京:國防工業出版社,2008.Wang Liming,Xia Li,Shao Ying,et al.Design and application of CAN field bus system[M].Beijing:National Defense Industry Press,2008.
[7]史久根,劉蓬,張陪仁.CAN數據傳送的實時性研究及其應用[J].信息與控制,2004(33):342-344.Liu Peng,Zhang Peiren.CAN history Jiugen,the real-time data transmission and application of[J].information and control,2004(33):342-344.
[8]任哲.嵌入式實時操作系統μC/OS-Ⅱ原理及應用(第二版)[M].北京:北京航空航天大學出版社,2009.Ren Zhe.The principle and application of embedded real time operating system C/OS-II(Second Edition)[M].Beijing:Beihang University press,2009.
[9]李小將,梅欒芳,師俊芳,等.基于TCM的嵌入式可信終端系統設計[J].計算機工程與設計,2010(4):733-735.Li Xiaojiang,Mei Luanfang,Shi Junfang,et al.based on TCM of embedded trusted terminal system design[J].Computer engineering and design,2010(4):733-735.
Design and Research of Non-Contact Infrared Communication Circuit
Jang Jun
(Kunming Shipbuilding Equipment Design Center,Kunming 650051,China)
Abstract:In order to solve the problems,bad contact during the underwater equipment connector using separate water tight socket and metal electrochemical corrosion under water,the non-contact infrared communication circuit is designed.It is composed of docking circuit plug and docking circuit socket,which confined in light-passing material respectively.The data communication is performed by infrared transceiver tube which conforming IrDA1.2 low power physical layer specifications.The control chip uses Infineon 16 bit single XC164CM as CPU,information trigger unit is composed of a electric magnet and reed switch and the power unit uses the control end of power module.The hardware circuit of design completes non-contact infrared communication system,and the software program of design guarantees data communication normally.The test results show that it also meets the design requirements in turbid water and has a certain practicality and application value.
Key words:Single chip;RS232 Serial port;CAN Protocol;Electro-magnets;Infrared communication;Serial memory
DOI:10.3969/j.issn.1002-2279.2016.02.022
中圖分類號:TP212.9
文獻標識碼:A
文章編號:1002-2279(2016)02-0086-04
作者簡介:蔣軍(1979-),男,四川省仁壽縣人,工程師,碩士,主研方向:監測設備研制與開發。
收稿日期:2015-06-15