亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于微控制器的usb-can總線適配器的制作方法

文檔序號(hào):6649756閱讀:166來源:國(guó)知局
專利名稱:基于微控制器的usb-can總線適配器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計(jì)算機(jī)與外設(shè)的接口設(shè)備。特別是一種基于微控制器的USB-CAN總線適配器。
背景技術(shù)
CAN(Controller Area Network)總線作為一種多主機(jī)局部網(wǎng)現(xiàn)場(chǎng)總線,由于其組網(wǎng)的靈活性和便捷性、通信的高效性和可靠性以及低廉的成本在工廠的分散控制領(lǐng)域受到了廣泛的應(yīng)用?,F(xiàn)代的工廠自動(dòng)控制化,既需要“分散控制”,更需要有效的“集中管理”,以保障生產(chǎn)的安全和效率,而聯(lián)絡(luò)各種設(shè)備的現(xiàn)場(chǎng)總線和對(duì)設(shè)備進(jìn)行監(jiān)控的工作站(通常為工業(yè)PC機(jī))之間的通信成為一個(gè)關(guān)鍵的咽喉。以往的監(jiān)控站和現(xiàn)場(chǎng)總線之間的通信大多采用兩種方式1.設(shè)計(jì)專用的通信卡和現(xiàn)場(chǎng)總線進(jìn)行通信;2.通過PC機(jī)的RS-232C標(biāo)準(zhǔn)接口和現(xiàn)場(chǎng)總線進(jìn)行接口。
設(shè)計(jì)專用的CAN總線通信卡需要了解復(fù)雜的PCI或EISA等總線協(xié)議標(biāo)準(zhǔn),其設(shè)計(jì)的難度可想而知,如果再以最高波特率僅為38.4Kb/s的RS-232C標(biāo)準(zhǔn)接口和最高波特率達(dá)1Mb/s的CAN總線進(jìn)行接口,無疑會(huì)造成CAN總線和監(jiān)控站之間的通信“瓶頸”問題。
可見,包括RS-232在內(nèi)的接口已經(jīng)無法滿足PC機(jī)與外部設(shè)備之間不斷提高的速度以及穩(wěn)定性、易用性等方面的要求,并給工程技術(shù)人員的設(shè)計(jì)和用戶的運(yùn)用帶來諸多不便。USB(Universal Serial Bus,即通用串行總線)的出現(xiàn)解決了上述問題。USB以其優(yōu)越的易用性、穩(wěn)定性、兼容性、擴(kuò)展性、完備性、網(wǎng)絡(luò)性和低功耗的特點(diǎn)得到了廣泛的歡迎和應(yīng)用,目前的PC機(jī)無論是臺(tái)式還是便攜式,均帶有USB插口。并且在最新發(fā)布的USB2.0版本中,USB的帶寬已經(jīng)提升到了480Mb/s。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于微控制器的USB總線適配器,可用于對(duì)CAN總線上的設(shè)備進(jìn)行監(jiān)控,微控制器控制數(shù)據(jù)在USB插口和CAN總線之間傳輸,解決了CAN總線和PC機(jī)間的通信“瓶頸”問題,數(shù)據(jù)傳輸可靠性高。
為達(dá)到上述目的,本發(fā)明采用下述技術(shù)方案
一種基于微控制器的USB-CAN總線適配器,包括連接PC機(jī)的USB插口和連接CAN總線的CAN總線接口,其特征在于由一個(gè)微控制器分別通過一個(gè)USB總線控制器和一個(gè)CAN總線控制器而連接所述的USB插口和CAN總線接口,實(shí)現(xiàn)PC機(jī)和CAN總線之間數(shù)據(jù)傳輸。
上述的微控制器采用Atmel公司推出的RISC架構(gòu)的微控制器ATmega 8515。
在上述的基于微控制器的USB-CAN總線適配器中,利用USB插口提供的電源直接對(duì)微控制器ATmega 81515供電;在CAN總線控制器與CAN總線接口之間采用光電隔離器件實(shí)現(xiàn)連接,并采用一個(gè)DC/DC電源變換器給光電隔離器件及其后端器件供電,徹底隔離CAN總線與PC機(jī)之間的電氣干擾。
在上述的基于微控制器的USB-CAN總線適配器中,微控制器連接一個(gè)指示電路在微控制器ATmega 8515的PD0引腳、PD1引腳和PD4引腳與電源之間分別連接一個(gè)USB總線指示燈(USB-LED)、一個(gè)CAN總線指示燈(CAN-LED)和一個(gè)通信指示燈(COM-LED)。
在上述的基于微控制器的USB-CAN總線適配器中,微控制器連接一個(gè)鍵盤在微控制器ATmega 8515的PE2引腳和RESET引腳與電源之間連接一個(gè)開關(guān)復(fù)位按鍵(JP1)。
上述的CAN總線控制器采用PHILIPS公司的獨(dú)立CAN總線控制器SJA1000。
上述的USB總線控制器采用全速器件USBN9603。
上述的基于微控制器的USB-CAN總線適配器中,植入的軟件包括(1)微控制器ATmega 8515中的USB-CAN適配器固件編程采用GNUAVR的最新版本W(wǎng)inAVR編程,它能夠?qū)λ蠥tmelAVR用C或C++語言進(jìn)行編程,且能在Win2000下運(yùn)行;(2)PC機(jī)內(nèi)的USB-CAN適配器驅(qū)動(dòng)程序編程采用Win2000DDK編寫,在VC6.0++環(huán)境中編譯。
本發(fā)明與現(xiàn)有技術(shù)相比較,具有如下顯而易見的突出實(shí)質(zhì)性特點(diǎn)和顯著優(yōu)點(diǎn)本發(fā)明設(shè)計(jì)了一種USB總線到CAN總線的適配器,采用了微控制器分別經(jīng)CAN總線控制器和USB總線控制器連接CAN總線接口和USB插口,由微控制器控制數(shù)據(jù)在USB插口和CAN總線之間的傳輸,解決了CAN總線和PC機(jī)間的通訊“瓶頸”問題,PC機(jī)和CAN總線之間數(shù)據(jù)傳輸波特率可達(dá)CAN總線的最高傳輸效率1Mb/s,且數(shù)據(jù)傳輸可靠性高。


圖1為USB-CAN適配器結(jié)構(gòu)框圖。
圖2為微控制器通信電路原理圖。
圖3為USB總線微控制器通信電路原理圖。
圖4為CAN總線微控制器通信電路原理圖。
圖5為USBN9603接口方式示意圖。
圖6為USB-CAN適配器數(shù)據(jù)傳輸處理框圖。
圖7為主程序處理上傳FIFO數(shù)據(jù)流程圖。
圖8為EP1的Tx中斷子程序流程圖。
圖9為EP2的Rx中斷子程序流程圖。
圖10為USB-CAN適配器應(yīng)用實(shí)例圖。
具體實(shí)施例方式
本發(fā)明的一個(gè)優(yōu)選實(shí)施例結(jié)合

如下本基于微控制器的USB-CAN總線適配器包括下述硬件和軟件。
USB-CAN總線適配器硬件圖1所示,本基于微控制器的USB-CAN總線適配器主要包括微控制器1、USB總線控制器8、CAN總線控制器3、指示電路2、電源管理電路。微控制器1是整個(gè)系統(tǒng)的樞紐,USB總線控制器8是全速USB總線節(jié)點(diǎn)控制器,CAN總線控制器3是工業(yè)自動(dòng)控制領(lǐng)域中獨(dú)立的CAN總線控制器,指示電路2及電源管理電路為系統(tǒng)輔助電路,PC可以通過USB插口對(duì)CAN總線6的設(shè)備進(jìn)行監(jiān)控。按照微控制器1、USB總線控制器8及CAN總線控制器3之間的通信劃分整個(gè)硬件系統(tǒng)為3部分,下面加以介紹。
<1>微控制器ATmeag8515通信電路ATmeag8515型微控制器是RISC架構(gòu),有多達(dá)130條功能強(qiáng)大的指令(大部分只用一個(gè)時(shí)鐘周期執(zhí)行),32×8通用工作寄存器,完全靜態(tài)運(yùn)作,在16MHz的晶振下運(yùn)行速度可以達(dá)到16MIPS,片上2周期的乘法器,其運(yùn)算速度是目前常用的8051單片機(jī)的10多倍,用它可以大大減少USB總線控制器8和CAN總線控制器3之間協(xié)調(diào)處理的時(shí)間,提高了USB-CAN總線適配器的實(shí)際通信速率。微控制器1具有非易失性的程序和數(shù)據(jù)存儲(chǔ)器,8K字節(jié)的在線可編程Flash;512字節(jié)的EEPROM,可進(jìn)行10萬次擦寫,使USB-CAN適配器的重要設(shè)置參數(shù)在掉電情況下仍能保存;512字節(jié)的SRAM,因此可選用對(duì)AVR微控制器進(jìn)行C或C++編程的編譯器。
如圖2所示,ATmeag8515可以擴(kuò)展高達(dá)64K字節(jié)的外部程序存儲(chǔ)器,ALE(即外部數(shù)據(jù)存儲(chǔ)器地址速使能)引腳分別和SJA1000的ALE/AS及USBN9603的A0/ALE/SI相連,SJA1000、USBN9603在ATmeag8515的空間地址分別為0x7F00H~0x7F7FH、0xBF00H~0xBFFFH;復(fù)用ATmeag8515PA口作為數(shù)據(jù)線分別和SJA1000的AD0~AD7、USBN9603的D0~D7相連進(jìn)行數(shù)據(jù)傳輸;ATmeag8515PB口作為控制口作用于SJA1000、USBN9603,其中PB0、PB1為復(fù)位控制口,PB2為DMA控制口,PB3、PB4為USBN96033種模式選擇控制口,如圖5所示;PD7、PD6分別為SJA1000、USBN9603的讀、寫使能控制口,PD2、PD3分別為SJA1000、USBN9603的中斷輸出使能控制口,ATmega8515根據(jù)PD2、PD3對(duì)SJA1000、USBN9603進(jìn)行及時(shí)的狀態(tài)診斷和事件處理。
如圖2所示,操作JP1按鍵開關(guān)復(fù)位ATmeag8515,設(shè)置ALE鎖存USBN9603、SJA1000,設(shè)置PC6、PC7選擇控制器,設(shè)置PB3、PB4選擇工作模式,通過ATmeag8515控制實(shí)現(xiàn)數(shù)據(jù)在USBN9603、SJA1000之間傳輸,若ATmeag8515檢測(cè)到需要從SJA1000到USBN9603進(jìn)行數(shù)據(jù)傳輸,且滿足軟件設(shè)置的條件(參照USB-CAN適配器固件編程),設(shè)置PC7有效選擇SJA1000,PD7有效使能SJA1000 RD/E口,ATmeag8515利用復(fù)用的PA口讀取SJA1000的AD0~AD7口上的數(shù)據(jù),然后設(shè)置PC6使能選擇USBN9603,PD6有效使能USBN9603 WR/SK口,從D0~D7口寫進(jìn)數(shù)據(jù);若需要從USBN9603到SJA1000進(jìn)行數(shù)據(jù)傳輸,條件滿足,首先設(shè)置PC6有效選擇USBN9603,PD7有效使能SJA1000 RD/E口,ATmeag8515利用復(fù)用的PA口讀取USBN9603的D0~D7口上的數(shù)據(jù),且將數(shù)據(jù)放進(jìn)內(nèi)部RAM中,檢測(cè)然后SJA1000是否滿足接受數(shù)據(jù),若條件滿足,設(shè)置PC7使能選擇SJA1000,PD6有效使能SJA1000WR口,將暫存于RAM中的數(shù)據(jù)從D0~D7口寫進(jìn)SJA1000。
<2>USB總線控制器USBN9603USBN9603型USB總線控制器8是全速USB總線節(jié)點(diǎn)控制器,傳輸數(shù)據(jù)波特率最高可達(dá)12Mb/s,內(nèi)部集成有收發(fā)器、倍頻電路PLL、3.3V的調(diào)節(jié)器。
如圖3所示,內(nèi)部集成收發(fā)器端口分別為D+、D-,通過18~27Ω的終端電阻與USB電纜連接,調(diào)節(jié)器端口V3.3通過一個(gè)1.5KΩ的上拉電阻連接到USB的D+數(shù)據(jù)線上,可以使USB主控制器識(shí)別出有一個(gè)USB全速設(shè)備正在連接。
倍頻電路PLL,可降低EMI,并具有可編程時(shí)鐘輸出功能,在加電復(fù)位狀態(tài)下,默認(rèn)頻率輸出為4MHz,通過微控制器編程設(shè)置CLKDIV,其輸出頻率為CKout=48MHz/(CLKDIV+1)其中CLKDIV為0~15之間的整數(shù),當(dāng)CLKDIV=2時(shí),Ckout輸出為16MHz,CLKOUT引腳和ATmeag8515 XTAL1相連,提供16MHz時(shí)鐘源。
USB插口電源為+5VDC,最大可提供500mA的電流,而ATmeag8515供電電壓在4.5~5.5VDC,Vcc和GND之間最高電流為200mA,故在適配器的電路設(shè)計(jì)中利用USB插口7提供的電源直接給ATmeag8515供電,免去了電源電路。
USBN9603有7個(gè)基于FIFO的端點(diǎn)一個(gè)必需的雙向控制端點(diǎn)0(8字節(jié)緩存),三個(gè)發(fā)送端點(diǎn)EPC1、EPC3和EPC5(每個(gè)64字節(jié)緩存),三個(gè)接端點(diǎn)EPC12、EPC4和EPC6(每個(gè)64字節(jié)緩存)。充分利用USBN9603的FIFO,可以使ATmega8515微控制器和USBN9603控制器并行運(yùn)行,大大提高了適配器的運(yùn)行效率。
<3>CAN總線控制器SJA1000如圖4所示,SJA1000型CAN總線控制器3是工業(yè)自動(dòng)控制領(lǐng)域中獨(dú)立的CAN總線控制器,是Philips Semiconductors公司繼PCA82C200的下一代產(chǎn)品,在PCA82C200的BasicCAN模式基礎(chǔ)上,增加了符合CAN 2.0協(xié)議規(guī)定的PeliCAN模式,因此它和PCA82C200在電氣上是兼容的;支持11位標(biāo)識(shí)符ID和29位標(biāo)識(shí)符ID;在最高達(dá)24MHz的晶振下,通信速率達(dá)1Mb/s;發(fā)送緩存13個(gè)字節(jié),接收緩存有64個(gè)字節(jié),采用FIFO模式,減少了接收等待時(shí)間,提高了實(shí)際通信效率。USB-CAN適配器數(shù)據(jù)傳輸處理框圖如圖4所示,CAN總線控制器的數(shù)據(jù)地址復(fù)用口和ATmega8515的PA口相連,它的中斷使能端和ATmega8515的INT1引腳相連,使得ATmega8515能夠?qū)JA1000進(jìn)行及時(shí)的狀態(tài)診斷和事件處理;串行數(shù)據(jù)傳輸端通過6N137型光電隔離器件4和PCA82C250型CAN控制器5接口相連,使USB-CAN總線適配器的穩(wěn)定性及抗干擾能力大為提高。
USB-CAN適配器軟件USB-CAN適配器軟件包括兩部分ATmega8515中的固件和PC機(jī)內(nèi)USB-CAN適配器的驅(qū)動(dòng)軟件。
<1>USB-CAN適配器固件編程USB-CAN總線適配器采用GNU AVR的最新版本W(wǎng)inAVR編程,它能夠?qū)λ蠥tmel AVR用C或C++語言進(jìn)行編程,且能在WIN2000下運(yùn)行。
USB-CAN適配器固件設(shè)計(jì)成完全的中斷驅(qū)動(dòng),當(dāng)ATmega8515處理前臺(tái)任務(wù)時(shí),USB和CAN的傳輸可以在后臺(tái)同時(shí)進(jìn)行,提高實(shí)際傳輸效率,易于編程和調(diào)試。后臺(tái)的中斷處理子程序通過設(shè)置事件標(biāo)志和數(shù)據(jù)緩沖區(qū)來實(shí)現(xiàn)和前臺(tái)主程序之間的數(shù)據(jù)交換,如圖6所示。當(dāng)ATmeag8515檢測(cè)到CAN控制器的狀態(tài)寄存器而得知接收緩沖CAN_RX_Buffer有數(shù)據(jù),就會(huì)把數(shù)據(jù)傳到USB控制器的空閑的發(fā)送緩沖區(qū)TXFIFO-1或TXFIFO-2中;同樣,當(dāng)USB控制器的接收緩沖區(qū)RXFIFO-1或RXFIFO-2充滿數(shù)據(jù)時(shí),ATmeag8515就會(huì)把RXFIFO-1或RXFIFO-2的數(shù)據(jù)讀到內(nèi)部一個(gè)連續(xù)的RAM空間,當(dāng)CAN總線控制器發(fā)送緩沖區(qū)CAN_TX_Buffer為空時(shí),再把數(shù)據(jù)從RAM傳到CAN_TX_Buffer。
USB-CAN適配器固件設(shè)計(jì)中采用乒乓緩存法提高實(shí)際傳輸數(shù)率。USBN9603有7個(gè)端點(diǎn),通常FIFO內(nèi)的數(shù)據(jù)進(jìn)行傳送或接收時(shí)每個(gè)端點(diǎn)對(duì)應(yīng)一個(gè)管道,但是,兩個(gè)同方向傳輸數(shù)據(jù)的端點(diǎn)也可以利用一個(gè)管道,這樣可以有效的提高數(shù)據(jù)的傳輸率,因?yàn)楫?dāng)?shù)谝粋€(gè)端點(diǎn)的FIFO傳輸數(shù)據(jù)時(shí),微控制器可以對(duì)第二個(gè)端點(diǎn)的FIFO進(jìn)行數(shù)據(jù)讀或?qū)懀粗嗳?。USBN9603在進(jìn)行批量傳輸時(shí),其實(shí)際傳輸率大約是512Kb/s,這往往是由于主機(jī)的控制器最大每幀數(shù)據(jù)包數(shù)量限制造成的,而不是由于USBN9603本身傳輸性能。其它傳輸方式,如中斷傳輸、同步傳輸、控制傳輸最高傳輸數(shù)率為1.5Mb/s。采用乒乓緩存法后,可使傳輸數(shù)率提高一倍,從而使傳輸速率為1Mb/s的CAN總線控制器沒有等待接收數(shù)據(jù)和發(fā)送數(shù)據(jù)空間的情況,解決了數(shù)據(jù)傳輸中的“瓶頸”問題。
在USB-CAN適配器中,端點(diǎn)EP1(TXFIFO-1)和EP3(TXFIFO-2)發(fā)送數(shù)據(jù)到主機(jī),EP2(RXFIFO-1)和EP4(RXFIFO-2)從主機(jī)接收數(shù)據(jù),如圖6所示,它們FIFO中的數(shù)據(jù)長(zhǎng)度都是64字節(jié)。當(dāng)主機(jī)進(jìn)行枚舉過程中,當(dāng)節(jié)點(diǎn)接收到配置設(shè)備請(qǐng)求,固件程序就可以把EP1/EP3和EP2/EP4分別分配同一個(gè)端點(diǎn)地址。USBN9603內(nèi)置有一個(gè)優(yōu)先級(jí)表,如果多個(gè)端點(diǎn)編程指定為同一個(gè)端點(diǎn)號(hào),具有較低號(hào)的端點(diǎn)(利用TOGGLE標(biāo)志區(qū)分高低)首先的得到響應(yīng)和數(shù)據(jù)。
數(shù)據(jù)上傳當(dāng)主機(jī)發(fā)送一個(gè)IN令牌給USB-CAN適配器,適配器就開始向PC機(jī)發(fā)送數(shù)據(jù)。如圖7所示為數(shù)據(jù)上傳的流程圖。通過兩個(gè)標(biāo)志UPDATE1和UPDATE2把主程序和Tx中斷子程序緊密聯(lián)系起來,體現(xiàn)了前臺(tái)后臺(tái)程序設(shè)計(jì)思想。當(dāng)UPDATE1清0,上傳數(shù)據(jù)完畢,當(dāng)置1時(shí),開始傳輸下一批數(shù)據(jù)。圖8為EP1的Tx中斷子程序流程圖,UPDATE1在該中斷子程序置1。UPDATE2的運(yùn)行和UPDATE1相似。
數(shù)據(jù)下傳當(dāng)主機(jī)發(fā)送一個(gè)OUT令牌給USB-CAN適配器,適配器就開始接收PC發(fā)送的數(shù)據(jù),并把暫存在ATmega8515的RAM中,然后傳到CAN總線控制器的數(shù)據(jù)發(fā)送緩沖區(qū)CAN_TX_Buffer。圖9為EP2的Rx中斷子程序流程,顯示了PC的數(shù)據(jù)如何傳到CAN總線的發(fā)送緩沖區(qū)。端點(diǎn)EP4的Rx中斷子程序流程和EP2的相似。
<2>USB-CAN適配器驅(qū)動(dòng)程序編程USB-CAN適配器設(shè)備驅(qū)動(dòng)程序采用Win2000 DDK編寫,在VC6.0++環(huán)境中編譯。驅(qū)動(dòng)程序運(yùn)行于內(nèi)核模式,其程序組織主要是按功能進(jìn)行劃分,而不是一種層次結(jié)構(gòu)。即插即用例程和電源管理例程完全按照USB標(biāo)準(zhǔn)總線驅(qū)動(dòng)程序參考編寫。
一個(gè)驅(qū)動(dòng)程序可以被多個(gè)類似的硬件使用,但驅(qū)動(dòng)程序的某些全局初始化操作只能在第一次被裝入時(shí)執(zhí)行一次。而DriverEntry例程就是用于這個(gè)目的,它是內(nèi)核模式驅(qū)動(dòng)程序主入口點(diǎn)。I/O管理器按下面方式調(diào)用該例程extern″C″NTSTATUS DriverEntry(IN PDRIVER OBJECT DriverObject,INPUNICODE STRING RegistryPath)DriverEntry的第一個(gè)參數(shù)是一個(gè)指針,指向一個(gè)剛被創(chuàng)建的驅(qū)動(dòng)程序?qū)ο蟆?br> DriverEntry的第二個(gè)參數(shù)是設(shè)備服務(wù)鍵的鍵名。
本設(shè)計(jì)中該例程的各個(gè)域設(shè)置如下DriverObject->DriverUnload=UsbCan_DriverUnload;
DriverObject->DriverExtension->AddDevice=UsbCan_AddDevice;
DriverObject->MajorFunction[IRP_MJ_CREATE]=UsbCan_DispatchCreate;
DriverObject->MajorFunction[IRP_MJ_CLOSE]=UsbCan_DispatchClose;
DriverObject->MajorFunction[IRP_MJ_READ]=UsbCan_DispatchRead;
DriverObject->MajorFunction[IRP_MJ_WRITE]=UsbCan_DispatchWrite;
DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL]=UsbCan_DispatchInternalControl;
DriverObject->MajorFunction[IRP_MJ_POWER]=UsbCan_DispatchPower;
DriverObject->MajorFunction[IRP_MJ_PNP]=UsbCan_DispatchPnp;
DriverObject->MajorFunction[IRP-MJ_DEVICE_CONTROL]=UsbCan_DispatchControl;
本基于微控制器的USB-CAN適配器的應(yīng)用實(shí)例USB-CAN適配器在分布式PLC控制系統(tǒng)中的應(yīng)用如圖10所示,筆記本電腦通過該適配器和PLC控制系統(tǒng)的CAN總線進(jìn)行連接,實(shí)現(xiàn)了一個(gè)筆記本對(duì)多個(gè)PLC進(jìn)行程序下載及對(duì)多個(gè)PLC運(yùn)行狀況進(jìn)行監(jiān)視,特別是在上位機(jī)只進(jìn)行監(jiān)視情況下,可以進(jìn)行熱插拔而不影響系統(tǒng)的運(yùn)行,給系統(tǒng)調(diào)試帶來極大的方便。經(jīng)USB測(cè)試軟件測(cè)試,其最高傳輸數(shù)率在40m內(nèi)達(dá)到了1Mb/s。
權(quán)利要求
1.一種基于微控制器的USB-CAN總線適配器,包括連接PC機(jī)的USB插口(7)和連接CAN總線(6)的CAN總線接口(5),其特征在于由一個(gè)微控制器(1)分別通過一個(gè)USB總線控制器(8)和一個(gè)CAN總線控制器(3)而連接所述的USB插口(7)和CAN總線接口(5),實(shí)現(xiàn)PC機(jī)和CAN總線之間數(shù)據(jù)傳輸。
2.根據(jù)權(quán)利要求1所述的基于微控制器的USB-CAN總線適配器,其特征在于所述的微控制器(1)采用Atmel公司推出的RISC架構(gòu)的微控制器ATmega 8515。
3.根據(jù)權(quán)利要求1或2所述的基于微控制器的USB-CAN總線適配器,其特征在于利用USB插口(7)提供的電源直接對(duì)微控制器ATmega 81515供電;在CAN總線控制器(3)與CAN總線接口(5)之間采用光電隔離器件(4)實(shí)現(xiàn)連接,并采用一個(gè)DC/DC電源變換器(9)給光電隔離器件(4)及其后端器件供電,徹底隔離CAN總線與PC機(jī)之間的電氣干擾。
4.根據(jù)權(quán)利要求1或2所述的基于微控制器的USB-CAN總線適配器,其特征在于微控制器(1)連接一個(gè)指示電路(2)在微控制器ATmega 8515的PD0引腳、PD1引腳和PD4引腳與電源之間分別連接一個(gè)USB總線指示燈(USB-LED)、一個(gè)CAN總線指示燈(CAN-LED)和一個(gè)通信指示燈(COM-LED)。
5.根據(jù)權(quán)利要求1或2所述的基于微控制器的USB-CAN總線適配器,其特征在于微控制器(1)連接一個(gè)鍵盤在微控制器ATmega 8515的PE2引腳和RESET引腳與電源之間連接一個(gè)開關(guān)復(fù)位按鍵(JP1)。
6.根據(jù)權(quán)利要求1或2所述的基于微控制器的USB-CAN總線適配器,其特征在于所述的CAN總線控制器(3)采用PHILIPS公司的獨(dú)立CAN總線控制器SJA1000。
7.根據(jù)權(quán)利要求1或2所述的基于微控制器的USB-CAN總線適配器,其特征在于所述的USB總線控制器(8)采用全速器件USBN9603。
8.根據(jù)權(quán)利要求2所述的基于微控制器的USB-CAN總線適配器,其特征在于植入的軟件包括1)微控制器ATmega 8515中的USB-CAN適配器固件編程采用GNUAVR的最新版本W(wǎng)inAVR編程,它能夠?qū)λ蠥tmelAVR用C或C++語言進(jìn)行編程,且能在Win2000下運(yùn)行;2)PC機(jī)內(nèi)的USB-CAN適配器驅(qū)動(dòng)程序編程采用WIN2000DDK編寫,在VC6.0++環(huán)境中編譯。
全文摘要
本發(fā)明涉及一種基于微控制器的USB-CAN總線適配器。它包括連接PC機(jī)的USB插口和連接CAN總線的CAN總線接口,由一個(gè)微控制器分別通過一個(gè)USB總線控制器和一個(gè)CAN總線控制器而連接所述的USB插口和CAN總線接口,實(shí)現(xiàn)PC機(jī)和CAN總線之間數(shù)據(jù)傳輸。本發(fā)明由微控制器控制數(shù)據(jù)在USB插口和CAN總線之間的傳輸,解決了CAN總線和PC機(jī)間的通訊“瓶頸”問題,PC機(jī)和CAN總線之間數(shù)據(jù)傳輸波特率可達(dá)CAN總線的最高效率1Mb/s,且數(shù)據(jù)傳輸可靠性高。
文檔編號(hào)G06F3/06GK1897594SQ20051011208
公開日2007年1月17日 申請(qǐng)日期2005年12月27日 優(yōu)先權(quán)日2005年12月27日
發(fā)明者徐美華, 冉峰, 李潤(rùn)光 申請(qǐng)人:上海大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1