基于單片機(jī)控制的CAN與RS-232轉(zhuǎn)換器的研究與設(shè)計(jì)
發(fā)布時(shí)間:2008/8/30 0:00:00 訪問(wèn)次數(shù):563
1.概述
can(controller area network)總線是德國(guó)bosch公司為解決現(xiàn)代汽車(chē)中眾多控制與測(cè)試之間的數(shù)據(jù)交換開(kāi)發(fā)的一種串行數(shù)據(jù)通信協(xié)議,是一種多主方式的串行通信總線。can總線是一種開(kāi)放式、數(shù)字化、多點(diǎn)通信的控制系統(tǒng)局域網(wǎng),具有通信速率高、傳輸時(shí)間短、傳輸距離遠(yuǎn)、糾錯(cuò)能力強(qiáng)、控制簡(jiǎn)單、擴(kuò)展能力強(qiáng)以及性價(jià)比高等特點(diǎn),是目前國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。
基于can總線的can控制器具有完成can總線通信協(xié)議所要求的全部必要功能,因此can控制器與其它微處理器的接口成為設(shè)計(jì)can總線系統(tǒng)的首要工作。實(shí)際中很多設(shè)備帶有rs-232接口,為了方便具有rs-232接口的設(shè)備與can總線的數(shù)據(jù)通信,本文完成了基于單片機(jī)控制的can總線與rs-232轉(zhuǎn)換器電路設(shè)計(jì)和軟件設(shè)計(jì),實(shí)現(xiàn)了can總線數(shù)據(jù)與rs-232接口設(shè)備的數(shù)據(jù)傳輸。
2.基于單片機(jī)控制的can總線與rs-232轉(zhuǎn)換器電路設(shè)計(jì)
can總線與rs-232轉(zhuǎn)換器電路包括:主控制模塊、rs-232接口轉(zhuǎn)換電路和can控制模塊3個(gè)主要部分。
主控制模塊的功能是處理can總線以及rs-232接口的數(shù)據(jù)通信和控制,本設(shè)計(jì)應(yīng)用at89c51完成對(duì)轉(zhuǎn)換器各個(gè)接口的控制,實(shí)現(xiàn)can總線和rs-232接口兩種協(xié)議數(shù)據(jù)幀的轉(zhuǎn)換,使用帶有spi總線接口的x25045實(shí)現(xiàn)硬件看門(mén)狗功能。主控模塊電路如圖1所示。
rs-232接口電路由max232芯片構(gòu)成,實(shí)現(xiàn)將單片機(jī)串口的ttl電平與rs-232電平的相互轉(zhuǎn)換,完成rs-232接口信息的輸入輸出傳輸。
can控制器模塊,主要完成can協(xié)議的物理層和數(shù)據(jù)鏈路層協(xié)議的實(shí)現(xiàn)。其中物理接口采用pca82c250芯片實(shí)現(xiàn)物理層的電平轉(zhuǎn)換和傳輸。can控制器使用sja1000芯片,完成數(shù)據(jù)鏈路層功能,實(shí)現(xiàn)can總線信息的輸入輸出傳輸。
at89c51是can總線與rs-232轉(zhuǎn)換器的控制器,提供以下標(biāo)準(zhǔn)功能:4k字節(jié)flash閃速存儲(chǔ)器,1000次可擦寫(xiě)周期,三級(jí)加密程序存儲(chǔ)器,128字節(jié)內(nèi)部ram,32個(gè)i/o口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),支持兩種軟件可選的節(jié)電工作模式?臻e方式停止cpu的工作,但允許ram、定時(shí)/計(jì)數(shù)器、竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram中的內(nèi)容,但振蕩器停止工作并禁止所有部件工作直到下一個(gè)硬件復(fù)位。
at89c51使用的晶振信號(hào)由sja1000提供(sja1000用24mhz的片外晶振),sja1000的clkout引腳接入mcu的xtal1引腳。
由于can總線速率與rs-232接口速率并不相同,因此本設(shè)計(jì)中增加了片外ram芯片6116,用作轉(zhuǎn)換雙方的數(shù)據(jù)緩沖區(qū)。設(shè)計(jì)中使用p2.7接反向器連接6116的片選端,所以接口轉(zhuǎn)換電路中的片外ram的起始地址實(shí)際上應(yīng)為0x8000。
2.1 at89c51與rs-232轉(zhuǎn)換接口電路設(shè)計(jì)
應(yīng)用max232芯片構(gòu)成rs-232的接口轉(zhuǎn)換電路,實(shí)現(xiàn)at89c51串口的ttl電平與rs-232電平的相互轉(zhuǎn)換。其中r1out和t1in引腳接單片機(jī)的rxd引腳和txd引腳,r1in和t1out作為rs-232接口輸出連接標(biāo)準(zhǔn)db9接口的引腳2和引腳3。db9接口引腳5接地。為了使max232芯片正常工作,還需要外接4個(gè)1μf的電容用于芯片升壓,以完成電平轉(zhuǎn)換。
2.2 sja1000與at89c51接口電路設(shè)計(jì)
can控制器sja1000芯片采用片外24mhz晶振,其clkout引腳輸出工作頻率接入微處理器的xtal1引腳。片選/cs端與單片機(jī)的p2.7引腳直接相連,因此sja1000的尋址空間從地址0開(kāi)始。ad0~ad7直接與at89c51的低8位數(shù)據(jù)/地址復(fù)用口p0口相連,mode接高電平設(shè)置為intel模式,中斷輸出信號(hào)/int與微處理器的/int0連接,使can通信可以采用中斷和查詢兩種方式。tlp113的外接390ω電阻為限流保護(hù)電阻,為避免當(dāng)驅(qū)動(dòng)器失效時(shí)出現(xiàn)過(guò)流導(dǎo)致控制器損壞。sja1000與at89c51接口電路如圖2所示。
2.3 can總線物理層接口電路設(shè)計(jì)
pca82c250與can總線的接口部分采用一定的安全和抗干擾措施。canh和canl與地之間并聯(lián)了兩個(gè)30p的小電容,可以起到濾除總線的高頻干擾和一定的防電磁輻射的能力。另外在兩根can總線接入端與地之間分別反接一個(gè)保護(hù)二極管,當(dāng)can總線有較高的負(fù)電壓時(shí),通過(guò)二極管的短路可起到一定的過(guò)壓保護(hù)作用。pca82c250的rs腳上接有一個(gè)斜率電阻,電阻大小可根據(jù)總線通訊速度適當(dāng)調(diào)整,一般在16k~140k之間。用光電隔離芯片tlp113將can控制器sja1000和收發(fā)器pca82c250隔離,以便有效地增加通訊距離和抗干擾能力。can總線物理層接口電路如圖3所示。
3.基于單片機(jī)控制的can總線與rs-232轉(zhuǎn)換器軟件設(shè)計(jì)
主程序分為初始化和循環(huán)檢測(cè)兩個(gè)主要部分。初始化部分完成對(duì)看門(mén)狗電路及rs-232 串口
1.概述
can(controller area network)總線是德國(guó)bosch公司為解決現(xiàn)代汽車(chē)中眾多控制與測(cè)試之間的數(shù)據(jù)交換開(kāi)發(fā)的一種串行數(shù)據(jù)通信協(xié)議,是一種多主方式的串行通信總線。can總線是一種開(kāi)放式、數(shù)字化、多點(diǎn)通信的控制系統(tǒng)局域網(wǎng),具有通信速率高、傳輸時(shí)間短、傳輸距離遠(yuǎn)、糾錯(cuò)能力強(qiáng)、控制簡(jiǎn)單、擴(kuò)展能力強(qiáng)以及性價(jià)比高等特點(diǎn),是目前國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。
基于can總線的can控制器具有完成can總線通信協(xié)議所要求的全部必要功能,因此can控制器與其它微處理器的接口成為設(shè)計(jì)can總線系統(tǒng)的首要工作。實(shí)際中很多設(shè)備帶有rs-232接口,為了方便具有rs-232接口的設(shè)備與can總線的數(shù)據(jù)通信,本文完成了基于單片機(jī)控制的can總線與rs-232轉(zhuǎn)換器電路設(shè)計(jì)和軟件設(shè)計(jì),實(shí)現(xiàn)了can總線數(shù)據(jù)與rs-232接口設(shè)備的數(shù)據(jù)傳輸。
2.基于單片機(jī)控制的can總線與rs-232轉(zhuǎn)換器電路設(shè)計(jì)
can總線與rs-232轉(zhuǎn)換器電路包括:主控制模塊、rs-232接口轉(zhuǎn)換電路和can控制模塊3個(gè)主要部分。
主控制模塊的功能是處理can總線以及rs-232接口的數(shù)據(jù)通信和控制,本設(shè)計(jì)應(yīng)用at89c51完成對(duì)轉(zhuǎn)換器各個(gè)接口的控制,實(shí)現(xiàn)can總線和rs-232接口兩種協(xié)議數(shù)據(jù)幀的轉(zhuǎn)換,使用帶有spi總線接口的x25045實(shí)現(xiàn)硬件看門(mén)狗功能。主控模塊電路如圖1所示。
rs-232接口電路由max232芯片構(gòu)成,實(shí)現(xiàn)將單片機(jī)串口的ttl電平與rs-232電平的相互轉(zhuǎn)換,完成rs-232接口信息的輸入輸出傳輸。
can控制器模塊,主要完成can協(xié)議的物理層和數(shù)據(jù)鏈路層協(xié)議的實(shí)現(xiàn)。其中物理接口采用pca82c250芯片實(shí)現(xiàn)物理層的電平轉(zhuǎn)換和傳輸。can控制器使用sja1000芯片,完成數(shù)據(jù)鏈路層功能,實(shí)現(xiàn)can總線信息的輸入輸出傳輸。
at89c51是can總線與rs-232轉(zhuǎn)換器的控制器,提供以下標(biāo)準(zhǔn)功能:4k字節(jié)flash閃速存儲(chǔ)器,1000次可擦寫(xiě)周期,三級(jí)加密程序存儲(chǔ)器,128字節(jié)內(nèi)部ram,32個(gè)i/o口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),支持兩種軟件可選的節(jié)電工作模式。空閑方式停止cpu的工作,但允許ram、定時(shí)/計(jì)數(shù)器、竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram中的內(nèi)容,但振蕩器停止工作并禁止所有部件工作直到下一個(gè)硬件復(fù)位。
at89c51使用的晶振信號(hào)由sja1000提供(sja1000用24mhz的片外晶振),sja1000的clkout引腳接入mcu的xtal1引腳。
由于can總線速率與rs-232接口速率并不相同,因此本設(shè)計(jì)中增加了片外ram芯片6116,用作轉(zhuǎn)換雙方的數(shù)據(jù)緩沖區(qū)。設(shè)計(jì)中使用p2.7接反向器連接6116的片選端,所以接口轉(zhuǎn)換電路中的片外ram的起始地址實(shí)際上應(yīng)為0x8000。
2.1 at89c51與rs-232轉(zhuǎn)換接口電路設(shè)計(jì)
應(yīng)用max232芯片構(gòu)成rs-232的接口轉(zhuǎn)換電路,實(shí)現(xiàn)at89c51串口的ttl電平與rs-232電平的相互轉(zhuǎn)換。其中r1out和t1in引腳接單片機(jī)的rxd引腳和txd引腳,r1in和t1out作為rs-232接口輸出連接標(biāo)準(zhǔn)db9接口的引腳2和引腳3。db9接口引腳5接地。為了使max232芯片正常工作,還需要外接4個(gè)1μf的電容用于芯片升壓,以完成電平轉(zhuǎn)換。
2.2 sja1000與at89c51接口電路設(shè)計(jì)
can控制器sja1000芯片采用片外24mhz晶振,其clkout引腳輸出工作頻率接入微處理器的xtal1引腳。片選/cs端與單片機(jī)的p2.7引腳直接相連,因此sja1000的尋址空間從地址0開(kāi)始。ad0~ad7直接與at89c51的低8位數(shù)據(jù)/地址復(fù)用口p0口相連,mode接高電平設(shè)置為intel模式,中斷輸出信號(hào)/int與微處理器的/int0連接,使can通信可以采用中斷和查詢兩種方式。tlp113的外接390ω電阻為限流保護(hù)電阻,為避免當(dāng)驅(qū)動(dòng)器失效時(shí)出現(xiàn)過(guò)流導(dǎo)致控制器損壞。sja1000與at89c51接口電路如圖2所示。
2.3 can總線物理層接口電路設(shè)計(jì)
pca82c250與can總線的接口部分采用一定的安全和抗干擾措施。canh和canl與地之間并聯(lián)了兩個(gè)30p的小電容,可以起到濾除總線的高頻干擾和一定的防電磁輻射的能力。另外在兩根can總線接入端與地之間分別反接一個(gè)保護(hù)二極管,當(dāng)can總線有較高的負(fù)電壓時(shí),通過(guò)二極管的短路可起到一定的過(guò)壓保護(hù)作用。pca82c250的rs腳上接有一個(gè)斜率電阻,電阻大小可根據(jù)總線通訊速度適當(dāng)調(diào)整,一般在16k~140k之間。用光電隔離芯片tlp113將can控制器sja1000和收發(fā)器pca82c250隔離,以便有效地增加通訊距離和抗干擾能力。can總線物理層接口電路如圖3所示。
3.基于單片機(jī)控制的can總線與rs-232轉(zhuǎn)換器軟件設(shè)計(jì)
主程序分為初始化和循環(huán)檢測(cè)兩個(gè)主要部分。初始化部分完成對(duì)看門(mén)狗電路及rs-232 串口
熱門(mén)點(diǎn)擊
- 單片機(jī)與RS232串口通信C51程序
- 基于控制專用單片機(jī)的無(wú)刷直流電機(jī)控制器
- 單片機(jī)通信協(xié)議處理
- 小型單片機(jī)系統(tǒng)延時(shí)關(guān)機(jī)電路
- 單片機(jī)通用模擬串口C程序
- SPCE061A型單片機(jī)在土木工程測(cè)溫儀中的
- 單片機(jī)應(yīng)用領(lǐng)域
- 基于單片機(jī)的風(fēng)洞模型姿態(tài)控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)控制的CAN與RS-232轉(zhuǎn)換器的
- 51單片機(jī)控制24C02串行E2PROM的讀
推薦技術(shù)資料
- 硬盤(pán)式MP3播放器終級(jí)改
- 一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
- 扇出型面板級(jí)封裝(FOPLP)
- 全球首款無(wú)掩模光刻系統(tǒng)—DSP
- 紫光閃存E5200 PCIe 5.0 企業(yè)級(jí)
- NAND Flash 技術(shù)和系
- 高性能DIMM 內(nèi)存數(shù)據(jù)技術(shù)封
- PCIe Gen4 SSD主控
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究