當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:介紹了一種基于DSP的CAN控制器和USB芯片的USB總線和CAN總線的通信模塊的設(shè)計(jì),提出了一種使用USB接口實(shí)現(xiàn)CAN總線網(wǎng)絡(luò)與計(jì)算機(jī)連接的方案。利用USB100芯片可在不了解任何USB協(xié)議的情況下,完成計(jì)算機(jī)RS 232串口

摘要:介紹了一種基于DSP的CAN控制器和USB芯片的USB總線和CAN總線的通信模塊的設(shè)計(jì),提出了一種使用USB接口實(shí)現(xiàn)CAN總線網(wǎng)絡(luò)與計(jì)算機(jī)連接的方案。利用USB100芯片可在不了解任何USB協(xié)議的情況下,完成計(jì)算機(jī)RS 232串口升級為USB接口,同時CAN接口采用DSP片上CAN控制器,硬件設(shè)計(jì)極為簡單。在DSP的控制下,PC機(jī)與CAN節(jié)點(diǎn)可以雙向通信,通信波特率可高達(dá)1 Mb/s,傳輸數(shù)據(jù)穩(wěn)定,可靠。實(shí)驗(yàn)證明,運(yùn)用TMS320F2812片上eCAN模塊來構(gòu)成CAN總線通信系統(tǒng)更為簡單,實(shí)用。
關(guān)鍵詞:USB;CAN總線;eCAN;TMS320F2812

0 引言
    隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,全電子的計(jì)算機(jī)連鎖控制系統(tǒng)由上位機(jī),聯(lián)鎖機(jī)和智能執(zhí)行單元三層結(jié)構(gòu)組成。本文所介紹的模塊正是在此背景下為數(shù)據(jù)通信進(jìn)行服務(wù)的。CAN總線是目前為止唯一有國際標(biāo)準(zhǔn)的現(xiàn)場總線,由于采用了許多新技術(shù)及獨(dú)特的設(shè)計(jì),與一般的通信總線相比,它的數(shù)據(jù)通信具有突出的可靠性,實(shí)時性和靈活性,其應(yīng)用范圍目前已不再局限于最初的汽車行業(yè),而擴(kuò)展到了機(jī)械工業(yè)包括數(shù)控機(jī)床,醫(yī)療器械,家用電器等領(lǐng)域。USB接口速度快、連線簡單和即插即用的特性是與上位機(jī)通訊非常好的外設(shè)接口。因此,基于USB接口實(shí)現(xiàn)CAN總線與PC機(jī)之間數(shù)據(jù)通信的研究具有一定的應(yīng)用意義。

1 系統(tǒng)結(jié)構(gòu)
    本系統(tǒng)主要是由USB接口和CAN接口等模塊組成,其中微處理器TMS320F2812控制全局,實(shí)現(xiàn)通過USB接口將CAN總線數(shù)據(jù)傳送給PC機(jī),以及通過USB接口將PC機(jī)數(shù)據(jù)傳送給CAN節(jié)點(diǎn)的雙向通信功能。傳統(tǒng)的CAN總線通信模塊一般要用到獨(dú)立的CAN控制器芯片,本系統(tǒng)微處理器F2812片上帶有eCAN模塊,設(shè)計(jì)時較為方便,下面簡要介紹eCAN模塊。
    eCAN模塊是TMS320F2812 DSP片上的增強(qiáng)型CAN控制器,其性能較之已有的DSP內(nèi)嵌CAN控制器有較大的提高,數(shù)據(jù)傳輸更加靈活方便,數(shù)據(jù)量更大、可靠性更高、功能更加完備。eCAN模塊它完全兼容CAN2.0B協(xié)議,可以在有干擾的環(huán)境里使用上述協(xié)議與其他控制器串行通信。除具有一般DSP內(nèi)嵌CAN控制器的所有功能外,與TMS320LF240x系列DSP的CAN模塊相比,它主要具有如下的一些增強(qiáng)特性:增加了郵箱數(shù)量,多達(dá)32個;eCAN是一個32位的高級CAN控制器;具有時間標(biāo)識;具有超時功能。
    以上這些增強(qiáng)特性使得TMS320F2812進(jìn)行CAN通信時,傳輸更加方便靈活、數(shù)據(jù)量更大、功能更完備。圖1為系統(tǒng)結(jié)構(gòu)圖。



2 系統(tǒng)硬件設(shè)計(jì)
2.1 USB模塊的硬件設(shè)計(jì)
    本系統(tǒng)USB接口模塊采用USB100模塊作為主控芯片。USB100模塊是USB通用設(shè)備接口芯片,具有8位數(shù)據(jù)總線接口,內(nèi)部多達(dá)384 B的發(fā)送緩沖區(qū)和128 B的接收緩沖區(qū),數(shù)據(jù)通信速率最高可達(dá)8 Mb/s,USB100模塊讀寫數(shù)據(jù)分別由RD和WR2個引腳控制,相當(dāng)于有讀寫2個地址,因此將這兩個地址映射到F2812外設(shè)接口的區(qū)域xzcs01中,0x2000作為寫地址,0x4000作為讀地址,通過XA13,XA14,XZCS01,XWE,XRD5個管腳進(jìn)行譯碼,即可方便地控制USB模塊的數(shù)據(jù)收發(fā)。選用altera公司的CPLD芯片EPM7032作為譯碼器件,可以進(jìn)行在系統(tǒng)編程操作,其中上述5個管腳作為CPLD的輸入引腳,CPLD2個輸出引腳分別接至USB100模塊的RD和WR兩個引腳。由于USB100模塊是5 V供電,F(xiàn)2812是3.3 V供電,所以8位數(shù)據(jù)總線通過電平轉(zhuǎn)換器件741vc4245相連,數(shù)據(jù)方向由F2812的XR/W控制。根據(jù)USB100模塊時序圖,當(dāng)F2812檢測到USB100模塊TXE引腳為低時,表示內(nèi)部發(fā)送緩沖區(qū)允許發(fā)送數(shù)據(jù)到USB端口,可以將數(shù)據(jù)通過八位總線發(fā)給USB100模塊;當(dāng)F2812檢測到USB100模塊RXF為低時,表示內(nèi)部發(fā)送緩沖區(qū)有來自USB端口的數(shù)據(jù)。[!--empirenews.page--]
2.2 eCAN模塊應(yīng)用設(shè)計(jì)
    由于采用TMS320F2812片上增強(qiáng)型控制器eCAN,所以CAN模塊硬件電路極為簡單,只需將F2812的RX和TX引腳經(jīng)過電平轉(zhuǎn)換器件連接至CAN收發(fā)器PCA82C250的TXD和RXD引腳,并以F2812作為CAN總線系統(tǒng)的微處理器,進(jìn)行實(shí)時數(shù)據(jù)收發(fā)。其硬件系統(tǒng)分為2層:第一層,CAN總線與F2812接口層;第二層,F(xiàn)2812與外圍器件的信息處理。CAN收發(fā)器采用低廉的PCA82C250,系統(tǒng)的擴(kuò)展性強(qiáng),至少可連接110個節(jié)點(diǎn),其引腳8(Rs)用于選擇工作模式,高速工作時上接一個斜率電阻,根據(jù)總線通信速度可適當(dāng)調(diào)整,一般在16~140 Kb/s之間。

3 系統(tǒng)軟件設(shè)計(jì)
3.1 DSP程序設(shè)計(jì)
    本系統(tǒng)中,微處理器TMS320F2812主要完成2個功能:一是對eCAN控制器進(jìn)行初始化;二是完成上位機(jī)USB接口和下位機(jī)CAN接口的數(shù)據(jù)通信。USB接口通信通過查詢USB100的TXE和RXF引腳的狀態(tài)來完成上位機(jī)與微處理器F2812的數(shù)據(jù)交換,CAN接口的通信主要包括eCAN模塊的消息發(fā)送和接收。
    F2812上電復(fù)位后,必須對軟件進(jìn)行初始化,其中最重要的是對eCAN模塊初始化。消息發(fā)送時,需要初始化發(fā)送郵箱,包括向寄存器CANME使能相應(yīng)郵箱、設(shè)置CANMD方向、通過MBOXn.MSGID(n=O~31)設(shè)置發(fā)送郵箱的ID等操作,初始化后向消息數(shù)據(jù)寄存器ECanaMboxes.Mboxn.MDR寫入上位機(jī)USB接口發(fā)送的數(shù)據(jù),然后設(shè)置EcanaRegs.CANTRS.bit.TRSn為1請求發(fā)送消息,等待傳輸響應(yīng)位TA=1,表示消息成功發(fā)送,并產(chǎn)生發(fā)送中斷,本系統(tǒng)通過發(fā)送中斷子程序統(tǒng)計(jì)發(fā)送消息個數(shù)。消息接收時,同樣需要初始化相應(yīng)的接收郵箱,完成初始化后,當(dāng)下位機(jī)通過CAN接口發(fā)送數(shù)據(jù)時,如果eCAN模塊的接收郵箱的ID與下位機(jī)消息的ID匹配,并成功接收,則相應(yīng)的接收消息掛起寄存器(CANRMP)的相應(yīng)位被置1;若CPU開放了eCAN接收中斷,則同時也產(chǎn)生接收消息中斷,在接收中斷子程序,可以將相應(yīng)的消息數(shù)據(jù)寄存器的內(nèi)容發(fā)給USB100模塊的寫地址,同時需要查詢USB100的TXE端是否允許向USB端口發(fā)送數(shù)據(jù)。
    上位機(jī)通過USB接口發(fā)送數(shù)據(jù),下位機(jī)通過CAN接口接收數(shù)據(jù)基本步驟為:
    (1)F2812初始化通用IO口以及eCAN控制器;
    (2)F2812檢測USB模塊是否有來自上位機(jī)的數(shù)據(jù);
    (3)若有,將數(shù)據(jù)讀入配置好的eCAN發(fā)送郵箱;
    (4)啟動配置好的eCAN發(fā)送郵箱;
    (5)當(dāng)郵箱發(fā)送消息給下位機(jī)成功后,會進(jìn)入eCAN發(fā)送中斷程序;
    (6)清除相應(yīng)標(biāo)志后退出中斷程序,繼續(xù)等待上位機(jī)發(fā)送數(shù)據(jù)。
    上位機(jī)通過USB接口接收數(shù)據(jù),下位機(jī)通過CAN接口發(fā)送數(shù)據(jù)基本步驟為:
    (1)F2812初始化通用IO口以及eCAN控制器;
    (2)當(dāng)下位機(jī)通過CAN接口發(fā)送數(shù)據(jù)時,根據(jù)郵箱標(biāo)識符,已配置好的eCAN接收郵箱收到下位機(jī)數(shù)據(jù),同時進(jìn)入eCAN接收中斷子程序;
    (3)F2812檢測USB模塊內(nèi)部緩沖區(qū)是否允許向上位機(jī)發(fā)送數(shù)據(jù),若禁止,則等待;
    (4)若允許向上位機(jī)發(fā)送數(shù)據(jù),則將數(shù)據(jù)寫入上位機(jī);
    (5)清除相應(yīng)標(biāo)志后退出中斷程序,繼續(xù)等待下位機(jī)發(fā)送數(shù)據(jù)。圖2為系統(tǒng)軟件流程圖。

[!--empirenews.page--]
3.2 上位機(jī)軟件編寫
    采用NI公司的LABWINDOWS/CVI8.0進(jìn)行上位機(jī)控制界面設(shè)計(jì),實(shí)現(xiàn)通過PC機(jī)發(fā)送和接收CAN總線系統(tǒng)的數(shù)據(jù)的功能。
    由于USB100模塊將USB接口虛擬成了RS 232標(biāo)準(zhǔn)的串口,程序要實(shí)現(xiàn)的任務(wù)是調(diào)用WINDOWS下串口函數(shù),使得用戶在CVI的界面下完成PC機(jī)數(shù)據(jù)的收發(fā)。該系統(tǒng)與PC機(jī)之間的通信主要通過調(diào)用LABWINDOWS/CVI函數(shù)庫中提供的RS 232函數(shù)庫,這幾個函數(shù)在設(shè)計(jì)驅(qū)動程序中具體實(shí)現(xiàn)。主要的函數(shù)有:配置串口函數(shù):int OpenComConfig(int COMPort,char deviceName[],long baudRate,int parity,int dataBits,int stopBits,int inputQueueSize,int outputQueueSize);將字節(jié)寫入指定端口函數(shù):int ComWrt(int COMPort,char buffer[],int count);從指定端口讀入字節(jié)函數(shù):int ComRd(int COMPort,char buffer[],int count);在PC機(jī)上通過相應(yīng)控件啟動相應(yīng)端口函數(shù),使得數(shù)據(jù)通過USB接口發(fā)送。

4 通信測試
    系統(tǒng)測試時,利用CAN調(diào)試器作為一個CAN節(jié)點(diǎn),并利用調(diào)試器自帶的調(diào)試軟件在下位機(jī)上顯示。
    首先,進(jìn)行上位機(jī)通過USB接口發(fā)送數(shù)據(jù),下位機(jī)通過CAN接口接收數(shù)據(jù)實(shí)驗(yàn),CAN節(jié)點(diǎn)設(shè)置為擴(kuò)展幀,幀格式為數(shù)據(jù)幀,幀ID為0x000000 82,下位機(jī)CAN調(diào)試軟件以十六進(jìn)制接收數(shù)據(jù),發(fā)送的是字符‘1’、‘2’、‘3’、‘4’、‘5’,下位機(jī)接收到的是對應(yīng)的ASCII碼值0x31~0x35,以十六進(jìn)制顯示。
    然后,進(jìn)行下位機(jī)通過CAN接口發(fā)送數(shù)據(jù),上位機(jī)通過USB口接收數(shù)據(jù)實(shí)驗(yàn),CAN節(jié)點(diǎn)設(shè)置不變,發(fā)送的數(shù)據(jù)是0x31~0x35五個數(shù)據(jù),上位機(jī)收到的是‘1’~‘5’五個字符。具體測試界面見圖3和圖4。



5 結(jié)語
    設(shè)計(jì)了一套USB-CAN總線通信模塊,其中CAN控制器特別的使用了F2812內(nèi)嵌eCAN模塊,在實(shí)際應(yīng)用中,該通信部分能有效,及時的與系統(tǒng)其他節(jié)點(diǎn)進(jìn)行通信,較為有效地將DSP的高速處理能力和CAN總線的優(yōu)良特性結(jié)合起來,并且硬件電路設(shè)計(jì)更為簡單實(shí)用,采用C語言編程,提高了程序的可維護(hù)性,大大縮短了研發(fā)周期。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉