freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

can總線與rs-232、spi總線轉(zhuǎn)換模塊的設(shè)計(jì)論文(編輯修改稿)

2025-02-14 13:20 本頁面
 

【文章內(nèi)容簡介】 ,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上FLASH允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程FLASH,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 SJA1000特性分析SJA1000芯片是目前廣泛流行的CAN總線器件之一,它是應(yīng)用于汽車和一般工業(yè)環(huán)境的獨(dú)立CAN總線控制器。經(jīng)過簡單總線連接的SJA1000可完成CAN總線的物理層和數(shù)據(jù)鏈路層的所有功能。其特性如下: 圖31 SJA1000引腳排布● 引腳與PCA82C200獨(dú)立控制器兼容;● 電氣參數(shù)與PCA82C200獨(dú)立CAN控制器兼容;● 具有PeliCAN模式;● 有擴(kuò)展的接收緩沖器64字節(jié),先進(jìn)先出(FIFO);● ;● 支持11位和29為標(biāo)志碼;● 通信速率可達(dá)1Mbps;● 24MHz時(shí)鐘頻率;● 可與不同的微處理器接口;● 可編程的CAN輸出驅(qū)動器配置;SJA1000獨(dú)立的CAN控制器有2個(gè)不同的操作模式:BasicCAN模式和PeliCAN模式。BasicCAN模式是上電后默認(rèn)的操作模式。因此用PCA82C200開發(fā)的已有硬件和軟件可以直接在SJA1000上使用,而不用作任何修改。PeliCAN模式是新的操作模式。而且它還提供一些增強(qiáng)功能,例如,SJA1000支持一些錯(cuò)誤分析功能,支持系統(tǒng)診斷、系統(tǒng)維護(hù)和系統(tǒng)優(yōu)化,而且這個(gè)模式里也加入了對一般CPU的支持和系統(tǒng)自身測試的功能。使SJA1000能應(yīng)用于更寬的領(lǐng)域。圖32 CAN控制器SJA1000在系統(tǒng)中的位置本設(shè)計(jì)采用PeliCAN模式,因此只給出PeliCAN模式增強(qiáng)功能。如表31所示。表31 PeliCAN模式的增強(qiáng)功能 (active) active 支持帶有29位標(biāo)識符的網(wǎng)絡(luò)擴(kuò)展應(yīng)用發(fā)送緩沖器有11位或29位標(biāo)識符的報(bào)文的單報(bào)文發(fā)送緩沖器增強(qiáng)的驗(yàn)收濾波器兩個(gè)驗(yàn)收濾波器模式支持11位和29位標(biāo)識符的濾波可讀的錯(cuò)誤計(jì)數(shù)器支持錯(cuò)誤分析在原型階段和在正常操作期間可用于:診斷、系統(tǒng)維護(hù)、系統(tǒng)優(yōu)化可編程的出錯(cuò)警告界限仲裁丟失捕捉中斷支持系統(tǒng)優(yōu)化包括報(bào)文延遲時(shí)間的分析單次發(fā)送使軟件命令最小化和允許快速重載發(fā)送緩沖器僅聽模式SJA1000能夠作為一個(gè)認(rèn)可的CAN 監(jiān)控器操作,可以分析CAN 總線通信或進(jìn)行自動位速率檢測自測試模式支持全部CAN 節(jié)點(diǎn)的功能自測試或在一個(gè)系統(tǒng)內(nèi)的自接收SJA1000內(nèi)部由接口管理邏輯、發(fā)送緩沖區(qū)、接收FIFO、比特流處理器、接收濾波器、定位邏輯器、錯(cuò)誤管理邏輯、復(fù)位模塊和振蕩電路這幾個(gè)部分組成。SJA1000引腳功能:SJA1000中共有28個(gè)外部引腳,芯片封裝形式可以是DIP_28,也可以是SO_28。AD7AD0(引腳2823):這8個(gè)引腳為8位地址/數(shù)據(jù)端。ALE/AS(引腳3):Intel模式下,該引腳為ALE信號輸入端。Motorola模式下,該引腳為AS信號輸入端。(引腳4):芯片片選端。/E(引腳5):Intel模式下,該引腳為信號輸入端,Motorola模式下,該引腳為E信號輸入端。(引腳6):Intel模式下,該引腳為信號輸入端,Motorola模式下,該引腳為RD/信號輸入端。CLKOUT(引腳7):SJA1000的時(shí)鐘信號輸入端。該時(shí)鐘頻率可以由SJA1000的內(nèi)部時(shí)鐘控制寄存器進(jìn)行可編程控制,若時(shí)鐘控制寄存器的Clock Off位為1,則該引腳無效。VSS1(引腳8):邏輯地。XTALXTAL2(引腳10):外部晶振接入端。Mode(引腳11):模式選擇端。該引腳用于處理器接口的選擇,當(dāng)該引腳接高電平時(shí),SJA1000工作在Intel模式,當(dāng)該引腳接低電平時(shí),SJA1000工作在Motorola模式。VDD3(引腳12):輸出驅(qū)動器的電源端。TX0、TX1(引腳114):CAN輸出驅(qū)動器的輸出端0和輸出端1。VSS3(引腳15):輸出驅(qū)動器的接地端。(引腳16):中斷信號輸出端。當(dāng)產(chǎn)生事件且內(nèi)部中斷寄存器對應(yīng)位被置位時(shí),該引腳產(chǎn)生低電平,通知處理器產(chǎn)生外部中斷,處理器可以通過查看中斷事件寄存器來了解發(fā)生了何種中斷。該引腳為集電極開路,因此多個(gè)信號可以直接連接在一起產(chǎn)生“線或”。(引腳17):芯片復(fù)位端。VDD2(引腳18):輸入比較器的電源端。RX0、RX1(引腳120):CAN輸入比較器的輸入端0和輸入端1。VSS2(引腳21):輸入比較器的接地端。VDD1 (引腳22):電源端[5]。 總線驅(qū)動器PCA82C250PCA82C250是PHILIPS公司的CAN總線驅(qū)動接口芯片,是CAN控制器與物理總線之間的接口,它最初是為汽車中的高速應(yīng)用(達(dá)1Mbps)而設(shè)計(jì)的。該器件可以提供對總線的差動發(fā)送和接收功能。其主要特性如下:● 與IS011898標(biāo)準(zhǔn)完全兼容;● 高速率(最高可達(dá)1MbpS);● 具有抗惡劣環(huán)境下的瞬間干擾,保護(hù)總線能力;● 過熱保護(hù);● 總線可連接110個(gè)節(jié)點(diǎn)。PCA82C250驅(qū)動電路內(nèi)部具有限流電路,可防止發(fā)送輸出級對電源、地或負(fù)載短路。雖然短路時(shí)功耗增加,但不致使輸出級損壞。若結(jié)溫超過大約160℃,則兩個(gè)發(fā)送器輸出端極限電流將減小,由于發(fā)送器是功耗的主要部分,因而限制了芯片的溫升。PCA82C250采用雙線差分驅(qū)動,有助于抑制惡劣電氣環(huán)境下的瞬變干擾。引腳8(RS)用于選定PCA82C250的工作模式。有3種不同的工作模式可供選擇:高速、斜率控制和待機(jī)[6]。表32 PCA82C250引腳功能屬性引腳標(biāo)識引腳名稱縮寫功能描述1TXD發(fā)送數(shù)據(jù)輸入2GND接地3Vcc電源4RXD接收數(shù)據(jù)輸出5Vref參考電壓輸出6CANL低電平CAN電壓輸入/輸出7CANH高電平CAN電壓輸入/輸出8Rs斜率電阻輸入第四章 CAN/RS232總線轉(zhuǎn)換模塊設(shè)計(jì)第四章 CAN/RS232總線轉(zhuǎn)換模塊設(shè)計(jì) 硬件設(shè)計(jì)硬件系統(tǒng)主要由MCU、電平轉(zhuǎn)換器MAX23CAN總線控制器SJA1000以及CAN總線驅(qū)動器PCA82C250組成。終端設(shè)備COM接口的RS232電平經(jīng)電平轉(zhuǎn)換器MAX232轉(zhuǎn)換為TTL電平后接入MCU的串行口,在MCU中將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)后由IO端口發(fā)送給CAN總線控制器SJA1000,然后通過CAN總線驅(qū)動器PCA82C250接入CAN總線,這就完成了RS232到CAN的轉(zhuǎn)換。圖41 CAN/RS232總線轉(zhuǎn)換模塊硬件原理框圖1)單片機(jī)與SJA1000接口電路設(shè)計(jì)在整個(gè)的硬件系統(tǒng)中,核心在于MCU與SJA1000的接口電路以及總線驅(qū)動器PCA82C250與SJA1000連接電路的設(shè)計(jì)。SJA1000作為PHILIPS公司生產(chǎn)的一款獨(dú)立的CAN總線控制器,其新增了一種操作模式——PeliCAN,在整個(gè)系統(tǒng)的設(shè)計(jì)中我們采用的就是這種模式,并兼容PCA82C200。單片機(jī)與SJA1000的接口電路設(shè)計(jì)如圖42:圖42 單片機(jī)與SJA1000接口電路STC89C52實(shí)現(xiàn)對SJA1000的初始化,控制SJA1000的數(shù)據(jù)收發(fā)等功能。SJA1000的AD0AD7接入單片機(jī)的P0端口實(shí)現(xiàn)數(shù)據(jù)通信,、ALE分別與單片機(jī)的相應(yīng)引腳連接。單片機(jī)可以采用查詢或中斷的方式訪問SJA1000。為了增強(qiáng)系統(tǒng)的穩(wěn)定性,采用雙晶體振蕩器, MHz 的晶體振蕩器,SJA1000選用16MHz的晶體振蕩器。2)SJA1000與PCA82C250接口電路設(shè)計(jì)PCA82C250是CAN控制器與物理總線之間的接口,器件可以提供對總線的差動發(fā)送和接收功能。RS腳接地,PCA82C250處于高速,使用屏蔽電纜來抗干擾,RS腳串接一個(gè)電阻()后再接地,用于控制上升和下降斜率,從而減小射頻干擾。若PCA82C250處于CAN總線的網(wǎng)絡(luò)終端,總線接口部分需加一個(gè)120Ω的匹配電阻[5]。其與CAN總線控制器SJA1000的連接電路如圖43:圖43 SJA1000與PCA82C250接口電路3)單片機(jī)與RS232接口電路設(shè)計(jì)MAX232芯片構(gòu)成RS232的接口電平轉(zhuǎn)換電路,實(shí)現(xiàn)單片機(jī)串口的TTL電平與RS232電平的相互轉(zhuǎn)換,還可以為單片機(jī)提供下載端口。接口電路如圖44:圖44 單片機(jī)與RS232接口電路4)單片機(jī)硬件復(fù)位電路設(shè)計(jì)硬件復(fù)位采用電平按鍵復(fù)位方式,在RST上加時(shí)間大于2個(gè)機(jī)器周期的高電平實(shí)現(xiàn)復(fù)位[7]。電路設(shè)計(jì)如圖45:圖45單片機(jī)硬件復(fù)位電路CAN/RS232總線轉(zhuǎn)換模塊總的硬件原理圖、PCB圖及實(shí)物圖見附錄。主程序分為初始化和循環(huán)檢測兩個(gè)主要部分。初始化部分完成對RS232串口和CAN總線的初始化,并開啟串口中斷。循環(huán)檢測部分通過調(diào)用CAN總線接收函數(shù)CAN_Receive和RS232接收函數(shù)RS232_Receive檢測緩沖區(qū)內(nèi)是否收到數(shù)據(jù),如果CAN總線有數(shù)據(jù)接收則調(diào)用RS232發(fā)送函數(shù)put_char。RS232總線有數(shù)據(jù)接收則會調(diào)用CAN總線發(fā)送函數(shù)Can_trans轉(zhuǎn)發(fā)數(shù)據(jù)。串口數(shù)據(jù)采用中斷接收,串口數(shù)據(jù)的發(fā)送和CAN總線數(shù)據(jù)的收發(fā)都采用查詢的方式。此外,由于CAN總線的速率與RS232接口的速率并不相同,因此還需在單片機(jī)的片外數(shù)據(jù)存儲器(RAM)定義兩個(gè)數(shù)組,其中一個(gè)用于接收RS232總線的數(shù)據(jù),另一個(gè)用于接收來自CAN總線的數(shù)據(jù),作為雙方轉(zhuǎn)換的數(shù)據(jù)緩沖區(qū)[8]。1)程序初始化程序初始化包括兩部分:CAN節(jié)點(diǎn)初始化和單片機(jī)串口初始化。(1)CAN節(jié)點(diǎn)初始化獨(dú)立CAN控制器SJA1000必須先復(fù)位,而且是低電平復(fù)位,在每次開始工作時(shí)給SJA1000的復(fù)位引腳一個(gè)復(fù)位電平,使其進(jìn)入復(fù)位模式。CAN控制器SJA1000的初始化包括設(shè)置工作方式、接收濾波方式、接收屏蔽寄存器、接收代碼寄存器、波特率參數(shù)和中斷允許寄存器。初始化設(shè)置完成后,SJA1000則進(jìn)入工作狀態(tài)。SJA1000寄存器初始化,首先要將其模式寄存器MOD復(fù)位模式位置為1,再通過時(shí)鐘分頻寄存器CDR選擇 PeliCAN工作模式,同時(shí)關(guān)閉時(shí)鐘輸出CLOCKOUT;通過中斷允許寄存器IER開啟發(fā)送中斷、溢出中斷和錯(cuò)誤警告中斷;向接收屏蔽寄存器(AMR)和接收代碼(ACR)寄存器賦初值;通過總線定時(shí)寄存器0BTR0和總線定時(shí)寄存器1BTR1設(shè)置波特率;為輸出控制寄存器(OCR)賦初值;通過接收緩沖器起始地址寄存器(RBSA)來設(shè)置接收緩沖器FIFO的起始地址;清除發(fā)送錯(cuò)誤計(jì)數(shù)寄存器(TXERR);清除錯(cuò)誤代碼捕捉寄存器(ECC),最后再次選擇方式寄存器(MOD),設(shè)置單濾波,并返回工作狀態(tài)。(2)單片機(jī)串口初始化通過對工作方式控制寄存器(TMOD)和串口控制寄存器(SCON)的設(shè)置來選擇定時(shí)器和工作方式及串行通信的波特率,并把中斷允許寄存器(IE)中的ES和EA置位選擇用中斷的方式來接收和發(fā)送串口數(shù)據(jù)[9]。圖46 CAN/RS232總線轉(zhuǎn)換模塊軟件主程序流程圖2)RS232 報(bào)文的接收和發(fā)送在程序的開始定義一個(gè)CanBuff數(shù)組和ComBuff數(shù)組分別用來存放CAN總線和RS—232總線接收的數(shù)據(jù),定義四個(gè)指針分別指向這兩個(gè)數(shù)組的接收和發(fā)送。進(jìn)入循環(huán),首先調(diào)用CAN_Receive函數(shù),通過訪問SJA1000的狀態(tài)寄存器來判別CAN控制器的狀態(tài)。當(dāng)SJA1000的接收緩存區(qū)有有效報(bào)文時(shí)則將緩存區(qū)的數(shù)據(jù)接收到RBuffer數(shù)組里函數(shù)并返回1,當(dāng)監(jiān)測到函數(shù)返回值為1,把RBuffer數(shù)組的數(shù)賦值給CanBuff數(shù)組,將指向CanBuff的接收指針CanRxP加上RBuffer數(shù)組中數(shù)據(jù)的個(gè)數(shù)。由于CanRxP的改變導(dǎo)致了指向CanBuff數(shù)組的發(fā)送指針CanTxP不相等,就說明有CanBuff數(shù)組有CAN數(shù)據(jù)進(jìn)來,這時(shí)候就調(diào)用put_char函數(shù)把數(shù)據(jù)通過串口發(fā)送出去。串口數(shù)據(jù)的接收采用中斷的方式,當(dāng)有數(shù)據(jù)通過串口傳送進(jìn)來時(shí),程序就會進(jìn)入串口中斷服務(wù)程序,進(jìn)入中斷服務(wù)程序首先關(guān)串口中斷,然后把RI為清零,把SBUF中的數(shù)據(jù)寫到ComBuff數(shù)組中接收指針ComRxP加1,退出服務(wù)程序之前再把串口中斷打開。3)CAN報(bào)文的接收和發(fā)送當(dāng)有數(shù)據(jù)從CAN總線傳送進(jìn)來,首先根據(jù)報(bào)文的第一個(gè)字節(jié)幀信息來判斷是標(biāo)準(zhǔn)幀還是擴(kuò)展幀,標(biāo)準(zhǔn)幀有兩個(gè)標(biāo)識碼而擴(kuò)展幀有四個(gè)標(biāo)識碼,幀信息的最后四位代表該報(bào)文數(shù)據(jù)字節(jié)的個(gè)數(shù),字節(jié)數(shù)不得超過8個(gè),當(dāng)超過8個(gè)時(shí)也當(dāng)8個(gè)進(jìn)行處理。報(bào)文的標(biāo)識碼必須和初始化設(shè)定好的的接收代碼寄存器和接收屏蔽寄存器的值相比較,符合條件的報(bào)文允許進(jìn)入SJA1000的接收緩存區(qū),不符合條件的不接收。當(dāng)有報(bào)文進(jìn)入接收
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1