《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于TMS320F2812和USB100的CAN-USB總線通信系統(tǒng)設(shè)計
基于TMS320F2812和USB100的CAN-USB總線通信系統(tǒng)設(shè)計
電子元器件應(yīng)用
葉成,劉曉剛,劉春生
摘要: 摘要:介紹了一種基于DSP的CAN控制器和USB芯片的USB總線和CAN總線的通信模塊的設(shè)計,提出了一種使用USB接口實現(xiàn)CAN總線網(wǎng)絡(luò)與計算機連接的方案。利用USB100芯片可在不了解任何USB協(xié)議的情況下,完成計算機RS232串口
關(guān)鍵詞: DSP CAN USB TMS320F2812
Abstract:
Key words :

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

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

1 系統(tǒng)結(jié)構(gòu)
    本系統(tǒng)主要是由USB接口和CAN接口等模塊組成,其中微處理器TMS320F2812控制全局,實現(xiàn)通過USB接口將CAN總線數(shù)據(jù)傳送給PC機,以及通過USB接口將PC機數(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ù)量,多達32個;eCAN是一個32位的高級CAN控制器;具有時間標(biāo)識;具有超時功能。
    以上這些增強特性使得TMS320F2812進行CAN通信時,傳輸更加方便靈活、數(shù)據(jù)量更大、功能更完備。圖1為系統(tǒng)結(jié)構(gòu)圖。

1.JPG



2 系統(tǒng)硬件設(shè)計
2.1 USB模塊的硬件設(shè)計
    本系統(tǒng)USB接口模塊采用USB100模塊作為主控芯片。USB100模塊是USB通用設(shè)備接口芯片,具有8位數(shù)據(jù)總線接口,內(nèi)部多達384 B的發(fā)送緩沖區(qū)和128 B的接收緩沖區(qū),數(shù)據(jù)通信速率最高可達8 Mb/s,USB100模塊讀寫數(shù)據(jù)分別由RD和WR2個引腳控制,相當(dāng)于有讀寫2個地址,因此將這兩個地址映射到F2812外設(shè)接口的區(qū)域xzcs01中,0x2000作為寫地址,0x4000作為讀地址,通過XA13,XA14,XZCS01,XWE,XRD5個管腳進行譯碼,即可方便地控制USB模塊的數(shù)據(jù)收發(fā)。選用altera公司的CPLD芯片EPM7032作為譯碼器件,可以進行在系統(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ù)。
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)的微處理器,進行實時數(shù)據(jù)收發(fā)。其硬件系統(tǒng)分為2層:第一層,CAN總線與F2812接口層;第二層,F(xiàn)2812與外圍器件的信息處理。CAN收發(fā)器采用低廉的PCA82C250,系統(tǒng)的擴展性強,至少可連接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控制器進行初始化;二是完成上位機USB接口和下位機CAN接口的數(shù)據(jù)通信。USB接口通信通過查詢USB100的TXE和RXF引腳的狀態(tài)來完成上位機與微處理器F2812的數(shù)據(jù)交換,CAN接口的通信主要包括eCAN模塊的消息發(fā)送和接收。
    F2812上電復(fù)位后,必須對軟件進行初始化,其中最重要的是對eCAN模塊初始化。消息發(fā)送時,需要初始化發(fā)送郵箱,包括向寄存器CANME使能相應(yīng)郵箱、設(shè)置CANMD方向、通過MBOXn.MSGID(n=O~31)設(shè)置發(fā)送郵箱的ID等操作,初始化后向消息數(shù)據(jù)寄存器ECanaMboxes.Mboxn.MDR寫入上位機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)下位機通過CAN接口發(fā)送數(shù)據(jù)時,如果eCAN模塊的接收郵箱的ID與下位機消息的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ù)。
    上位機通過USB接口發(fā)送數(shù)據(jù),下位機通過CAN接口接收數(shù)據(jù)基本步驟為:
    (1)F2812初始化通用IO口以及eCAN控制器;
    (2)F2812檢測USB模塊是否有來自上位機的數(shù)據(jù);
    (3)若有,將數(shù)據(jù)讀入配置好的eCAN發(fā)送郵箱;
    (4)啟動配置好的eCAN發(fā)送郵箱;
    (5)當(dāng)郵箱發(fā)送消息給下位機成功后,會進入eCAN發(fā)送中斷程序;
    (6)清除相應(yīng)標(biāo)志后退出中斷程序,繼續(xù)等待上位機發(fā)送數(shù)據(jù)。
    上位機通過USB接口接收數(shù)據(jù),下位機通過CAN接口發(fā)送數(shù)據(jù)基本步驟為:
    (1)F2812初始化通用IO口以及eCAN控制器;
    (2)當(dāng)下位機通過CAN接口發(fā)送數(shù)據(jù)時,根據(jù)郵箱標(biāo)識符,已配置好的eCAN接收郵箱收到下位機數(shù)據(jù),同時進入eCAN接收中斷子程序;
    (3)F2812檢測USB模塊內(nèi)部緩沖區(qū)是否允許向上位機發(fā)送數(shù)據(jù),若禁止,則等待;
    (4)若允許向上位機發(fā)送數(shù)據(jù),則將數(shù)據(jù)寫入上位機;
    (5)清除相應(yīng)標(biāo)志后退出中斷程序,繼續(xù)等待下位機發(fā)送數(shù)據(jù)。圖2為系統(tǒng)軟件流程圖。

2.JPG


3.2 上位機軟件編寫
    采用NI公司的LABWINDOWS/CVI8.0進行上位機控制界面設(shè)計,實現(xiàn)通過PC機發(fā)送和接收CAN總線系統(tǒng)的數(shù)據(jù)的功能。
    由于USB100模塊將USB接口虛擬成了RS 232標(biāo)準(zhǔn)的串口,程序要實現(xiàn)的任務(wù)是調(diào)用WINDOWS下串口函數(shù),使得用戶在CVI的界面下完成PC機數(shù)據(jù)的收發(fā)。該系統(tǒng)與PC機之間的通信主要通過調(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機上通過相應(yīng)控件啟動相應(yīng)端口函數(shù),使得數(shù)據(jù)通過USB接口發(fā)送。

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

3.JPG



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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲天堂成人在线观看| 久久九九免费| 久久精品观看| 午夜视频在线观看一区二区三区| 尤物yw午夜国产精品视频| 亚洲视频自拍偷拍| 亚洲国产精品一区二区第一页 | 欧美一级二区| 亚洲欧美成人| 开元免费观看欧美电视剧网站| 最新高清无码专区| 影音欧美亚洲| 国内揄拍国内精品久久| 国产日韩欧美综合精品| 国产精品视频一| 国产精品分类| 国产精品国产三级国产aⅴ浪潮| 欧美日韩成人综合天天影院| 欧美精品日本| 欧美色视频日本高清在线观看| 欧美剧在线免费观看网站| 欧美激情一区二区| 欧美日韩国产a| 欧美深夜福利| 国产精品久久久久久久app| 国产精品一区久久| 国产精品社区| 国产一区二区三区在线观看网站 | 欧美大片一区二区三区| 欧美国产精品v| 欧美日韩不卡视频| 国产精品videossex久久发布| 国产精品狠色婷| 国产伦精品一区| 国产主播喷水一区二区| 精品成人久久| 亚洲激情网站| 99国内精品久久久久久久软件| 中文精品一区二区三区| 亚洲欧美一区二区三区极速播放| 欧美在线一二三四区| 亚洲国产精品久久久久婷婷884| 亚洲三级性片| 亚洲无人区一区| 午夜视频一区在线观看| 欧美在线高清视频| 麻豆av福利av久久av| 欧美国产视频日韩| 国产精品扒开腿爽爽爽视频| 国产日本欧美一区二区| 依依成人综合视频| 99re视频这里只有精品| 亚洲欧美日韩精品久久久久| 久久精品久久99精品久久| 亚洲精品一区在线| 亚洲女性裸体视频| 久久免费黄色| 欧美日韩在线播放一区二区| 国产欧美日韩激情| 亚洲国产精品久久| 亚洲午夜国产成人av电影男同| 欧美尤物巨大精品爽| 99精品99久久久久久宅男| 欧美一区=区| 女生裸体视频一区二区三区| 国产精品久久久久一区二区三区 | 99国产精品一区| 欧美一区二区成人| 欧美国产日韩一区二区三区| 国产伦精品一区二区三区免费 | 国产精品综合色区在线观看| 一区二区在线观看视频| 在线亚洲+欧美+日本专区| 欧美在线观看视频| 亚洲图中文字幕| 久久频这里精品99香蕉| 欧美日韩视频在线一区二区| 欧美在线视频观看| 在线观看日韩av电影| 日韩亚洲在线| 午夜精品美女久久久久av福利| 亚洲欧美精品在线| 久久精品欧美日韩| 在线亚洲欧美专区二区| 久久国产综合精品| 欧美日韩国产首页在线观看| 亚洲高清资源| 这里只有精品在线播放| 性欧美1819性猛交| 日韩午夜免费视频| 亚洲欧美福利一区二区| 久久视频国产精品免费视频在线| 欧美久久成人| 国产一区二区三区四区| 日韩午夜三级在线| 亚洲第一区在线观看| 国产精品青草综合久久久久99| 一本色道精品久久一区二区三区| 午夜欧美理论片| 欧美国产日本韩| 国产日韩欧美在线观看| 亚洲综合电影一区二区三区| 亚洲片区在线| 欧美亚洲综合网| 欧美精品久久99| 激情伊人五月天久久综合| 亚洲一区二区三区午夜| 一本久久a久久精品亚洲| 毛片基地黄久久久久久天堂| 亚洲最新合集| 日韩亚洲国产欧美| 亚洲高清在线精品| 欧美一级理论性理论a| 欧美日韩在线播放三区四区| 一区二区久久久久久| 亚洲经典在线看| 六月婷婷久久| 一区二区视频免费在线观看| 久久精品亚洲一区二区三区浴池 | 亚洲精品一区二区三区婷婷月 | 国产人成一区二区三区影院| aa亚洲婷婷| 一本色道久久88综合亚洲精品ⅰ| 久久久午夜电影| 国产老肥熟一区二区三区| 中文av一区二区| 亚洲午夜av电影| 欧美日韩蜜桃| 99视频精品全部免费在线| 亚洲无线视频| 国产精品久久久久久久久免费樱桃| 日韩午夜在线| 中文精品视频| 欧美午夜久久| 亚洲在线第一页| 性18欧美另类| 国产人成精品一区二区三| 欧美一区二区观看视频| 久久久精品一品道一区| 国内成人自拍视频| 久久精品视频免费| 欧美xart系列高清| 亚洲日韩欧美一区二区在线| 一区二区三区久久久| 欧美午夜三级| 亚洲男人影院| 久久久青草青青国产亚洲免观| 好吊视频一区二区三区四区| 亚洲国产精品成人久久综合一区| 久久久免费精品| 亚洲国产天堂久久综合网| 99在线观看免费视频精品观看| 欧美日韩三级| 亚洲综合日本| 久久综合伊人77777| 亚洲国产一二三| 正在播放亚洲一区| 国产精品人成在线观看免费| 欧美亚洲三区| 你懂的视频一区二区| 日韩视频专区| 欧美一区二区大片| 伊人精品成人久久综合软件| 日韩一二三在线视频播| 国产精品久久久久久久久免费樱桃 | 亚洲精品一区二区三| 欧美日韩一区二区欧美激情| 亚洲一区日韩在线| 久久亚洲二区| 亚洲免费久久| 欧美在线观看一区二区| 在线观看91精品国产麻豆| 亚洲视频在线一区| 国产一区自拍视频| 亚洲作爱视频| 国产欧美一区二区三区视频| 亚洲国产欧美国产综合一区| 欧美日韩在线观看一区二区三区| 先锋影音久久久| 欧美国产日本韩| 午夜精品福利在线观看| 欧美肥婆在线| 亚洲主播在线播放| 欧美激情视频在线免费观看 欧美视频免费一| 日韩亚洲欧美中文三级| 久久全球大尺度高清视频| 日韩视频中文| 久久综合给合| 亚洲视频久久| 免费成人黄色av| 亚洲免费在线观看| 欧美韩日一区二区| 欧美一级视频精品观看| 欧美久久一区| 久久精品夜色噜噜亚洲a∨| 欧美午夜美女看片| 亚洲精品国久久99热| 一区二区欧美视频| 欧美手机在线| 性欧美videos另类喷潮|