www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

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

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

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



2 系統(tǒng)硬件設(shè)計
2.1 USB模塊的硬件設(shè)計
    本系統(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è)計
    由于采用TMS320F2812片上增強型控制器eCAN,所以CAN模塊硬件電路極為簡單,只需將F2812的RX和TX引腳經(jīng)過電平轉(zhuǎn)換器件連接至CAN收發(fā)器PCA82C250的TXD和RXD引腳,并以F2812作為CAN總線系統(tǒng)的微處理器,進(jìn)行實時數(shù)據(jù)收發(fā)。其硬件系統(tǒng)分為2層:第一層,CAN總線與F2812接口層;第二層,F(xiàn)2812與外圍器件的信息處理。CAN收發(fā)器采用低廉的PCA82C250,系統(tǒng)的擴(kuò)展性強,至少可連接110個節(jié)點,其引腳8(Rs)用于選擇工作模式,高速工作時上接一個斜率電阻,根據(jù)總線通信速度可適當(dāng)調(diào)整,一般在16~140 Kb/s之間。

3 系統(tǒng)軟件設(shè)計
3.1 DSP程序設(shè)計
    本系統(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)計發(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è)計,實現(xiàn)通過PC機(jī)發(fā)送和接收CAN總線系統(tǒng)的數(shù)據(jù)的功能。
    由于USB100模塊將USB接口虛擬成了RS 232標(biāo)準(zhǔn)的串口,程序要實現(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è)計驅(qū)動程序中具體實現(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ào)試器自帶的調(diào)試軟件在下位機(jī)上顯示。
    首先,進(jìn)行上位機(jī)通過USB接口發(fā)送數(shù)據(jù),下位機(jī)通過CAN接口接收數(shù)據(jù)實驗,CAN節(jié)點設(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ù)實驗,CAN節(jié)點設(shè)置不變,發(fā)送的數(shù)據(jù)是0x31~0x35五個數(shù)據(jù),上位機(jī)收到的是‘1’~‘5’五個字符。具體測試界面見圖3和圖4。



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

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

在工業(yè)自動化、能源管理等實時性要求嚴(yán)苛的場景中,Modbus通信系統(tǒng)的響應(yīng)延遲直接關(guān)系到設(shè)備控制的精度與系統(tǒng)穩(wěn)定性。從智能電表的功率調(diào)節(jié)到機(jī)器人關(guān)節(jié)的同步控制,微秒級的響應(yīng)偏差都可能引發(fā)連鎖故障。本文從硬件架構(gòu)、軟件設(shè)計...

關(guān)鍵字: Modbus 通信系統(tǒng)

在現(xiàn)代汽車和工業(yè)自動化系統(tǒng)中,控制器局域網(wǎng)(Controller Area Network, CAN)和局部互聯(lián)網(wǎng)絡(luò)(Local Interconnect Network, LIN)是兩種常見的通信協(xié)議。它們各自具有獨特...

關(guān)鍵字: CAN 總線架構(gòu)

上海2025年7月24日 /美通社/ -- 近日,藍(lán)科集團(tuán)(Lucanet AG)全球首席執(zhí)行官Elias Apel先生和藍(lán)科中國總經(jīng)理張馳先生一行拜訪和接待了中國地區(qū)多家合作伙伴與優(yōu)秀企業(yè)客戶,旨在深入了解中國市場與用...

關(guān)鍵字: 智能化 CAN NET 自動化

上海2025年7月23日 /美通社/ --?近日,Lucanet集團(tuán)年度旗艦活動 "Lucanet World 2025" (即藍(lán)科全球客戶大會)在柏林盛大舉行。來自全球各地近千位集團(tuán)首席財務(wù)官、技術(shù)決策者等高管以及財務(wù)...

關(guān)鍵字: AI CAN NET BSP

杭州2025年7月18日 /美通社/ -- 7月11日-12日,全中國乃至全球的優(yōu)秀設(shè)計師都匯聚到了阿里巴巴全球總部,共赴一年一度的D20全球設(shè)計院長峰會。 從去年關(guān)注"AI時代的設(shè)計",今年阿里設(shè)...

關(guān)鍵字: AI 阿里巴巴 CAN CREATE

在科技飛速發(fā)展的當(dāng)下,汽車行業(yè)正經(jīng)歷著一場深刻變革,汽車通信系統(tǒng)作為其中的關(guān)鍵領(lǐng)域,展現(xiàn)出了極為光明的前景。其中,車對車(V2V)和車對基礎(chǔ)設(shè)施(V2I)技術(shù)憑借其在避免事故方面的卓越潛力,成為了人們關(guān)注的焦點。

關(guān)鍵字: 汽車 通信系統(tǒng) 技術(shù)

為增進(jìn)大家對CAN總線的認(rèn)識,本文將對CAN總線協(xié)議以及CAN總線負(fù)載率的設(shè)置予以介紹。

關(guān)鍵字: CAN 指數(shù) 總線

為增進(jìn)大家對CAN總線的認(rèn)識,本文將對CAN總線的特征以及高低速CAN總線的特性予以介紹。

關(guān)鍵字: CAN 指數(shù) 總線

為增進(jìn)大家對CAN總線的認(rèn)識,本文將對CAN總線的工作原理、CAN總線和LIN總線的區(qū)別予以介紹。

關(guān)鍵字: CAN 指數(shù) 總線

納祥科技NX8615 是帶有 SPI 接口的獨立局域網(wǎng)(CAN)控制器,主要應(yīng)用在汽車和工業(yè)中進(jìn)行數(shù)據(jù)接收和傳輸,具備低功耗、低成本、高實時性、高兼容性的特質(zhì)

關(guān)鍵字: CAN SPI 納祥科技 汽車
關(guān)閉