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

正文內(nèi)容

can總線與rs-232、spi總線轉(zhuǎn)換模塊的設(shè)計論文-文庫吧資料

2025-01-24 13:20本頁面
  

【正文】 進(jìn)入SJA1000的接收緩存區(qū),不符合條件的不接收。串口數(shù)據(jù)的接收采用中斷的方式,當(dāng)有數(shù)據(jù)通過串口傳送進(jìn)來時,程序就會進(jìn)入串口中斷服務(wù)程序,進(jìn)入中斷服務(wù)程序首先關(guān)串口中斷,然后把RI為清零,把SBUF中的數(shù)據(jù)寫到ComBuff數(shù)組中接收指針ComRxP加1,退出服務(wù)程序之前再把串口中斷打開。當(dāng)SJA1000的接收緩存區(qū)有有效報文時則將緩存區(qū)的數(shù)據(jù)接收到RBuffer數(shù)組里函數(shù)并返回1,當(dāng)監(jiān)測到函數(shù)返回值為1,把RBuffer數(shù)組的數(shù)賦值給CanBuff數(shù)組,將指向CanBuff的接收指針CanRxP加上RBuffer數(shù)組中數(shù)據(jù)的個數(shù)。圖46 CAN/RS232總線轉(zhuǎn)換模塊軟件主程序流程圖2)RS232 報文的接收和發(fā)送在程序的開始定義一個CanBuff數(shù)組和ComBuff數(shù)組分別用來存放CAN總線和RS—232總線接收的數(shù)據(jù),定義四個指針分別指向這兩個數(shù)組的接收和發(fā)送。SJA1000寄存器初始化,首先要將其模式寄存器MOD復(fù)位模式位置為1,再通過時鐘分頻寄存器CDR選擇 PeliCAN工作模式,同時關(guān)閉時鐘輸出CLOCKOUT;通過中斷允許寄存器IER開啟發(fā)送中斷、溢出中斷和錯誤警告中斷;向接收屏蔽寄存器(AMR)和接收代碼(ACR)寄存器賦初值;通過總線定時寄存器0BTR0和總線定時寄存器1BTR1設(shè)置波特率;為輸出控制寄存器(OCR)賦初值;通過接收緩沖器起始地址寄存器(RBSA)來設(shè)置接收緩沖器FIFO的起始地址;清除發(fā)送錯誤計數(shù)寄存器(TXERR);清除錯誤代碼捕捉寄存器(ECC),最后再次選擇方式寄存器(MOD),設(shè)置單濾波,并返回工作狀態(tài)。CAN控制器SJA1000的初始化包括設(shè)置工作方式、接收濾波方式、接收屏蔽寄存器、接收代碼寄存器、波特率參數(shù)和中斷允許寄存器。1)程序初始化程序初始化包括兩部分:CAN節(jié)點初始化和單片機串口初始化。串口數(shù)據(jù)采用中斷接收,串口數(shù)據(jù)的發(fā)送和CAN總線數(shù)據(jù)的收發(fā)都采用查詢的方式。循環(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。主程序分為初始化和循環(huán)檢測兩個主要部分。接口電路如圖44:圖44 單片機與RS232接口電路4)單片機硬件復(fù)位電路設(shè)計硬件復(fù)位采用電平按鍵復(fù)位方式,在RST上加時間大于2個機器周期的高電平實現(xiàn)復(fù)位[7]。若PCA82C250處于CAN總線的網(wǎng)絡(luò)終端,總線接口部分需加一個120Ω的匹配電阻[5]。2)SJA1000與PCA82C250接口電路設(shè)計PCA82C250是CAN控制器與物理總線之間的接口,器件可以提供對總線的差動發(fā)送和接收功能。單片機可以采用查詢或中斷的方式訪問SJA1000。單片機與SJA1000的接口電路設(shè)計如圖42:圖42 單片機與SJA1000接口電路STC89C52實現(xiàn)對SJA1000的初始化,控制SJA1000的數(shù)據(jù)收發(fā)等功能。圖41 CAN/RS232總線轉(zhuǎn)換模塊硬件原理框圖1)單片機與SJA1000接口電路設(shè)計在整個的硬件系統(tǒng)中,核心在于MCU與SJA1000的接口電路以及總線驅(qū)動器PCA82C250與SJA1000連接電路的設(shè)計。表32 PCA82C250引腳功能屬性引腳標(biāo)識引腳名稱縮寫功能描述1TXD發(fā)送數(shù)據(jù)輸入2GND接地3Vcc電源4RXD接收數(shù)據(jù)輸出5Vref參考電壓輸出6CANL低電平CAN電壓輸入/輸出7CANH高電平CAN電壓輸入/輸出8Rs斜率電阻輸入第四章 CAN/RS232總線轉(zhuǎn)換模塊設(shè)計第四章 CAN/RS232總線轉(zhuǎn)換模塊設(shè)計 硬件設(shè)計硬件系統(tǒng)主要由MCU、電平轉(zhuǎn)換器MAX23CAN總線控制器SJA1000以及CAN總線驅(qū)動器PCA82C250組成。引腳8(RS)用于選定PCA82C250的工作模式。若結(jié)溫超過大約160℃,則兩個發(fā)送器輸出端極限電流將減小,由于發(fā)送器是功耗的主要部分,因而限制了芯片的溫升。PCA82C250驅(qū)動電路內(nèi)部具有限流電路,可防止發(fā)送輸出級對電源、地或負(fù)載短路。該器件可以提供對總線的差動發(fā)送和接收功能。VDD1 (引腳22):電源端[5]。RX0、RX1(引腳120):CAN輸入比較器的輸入端0和輸入端1。(引腳17):芯片復(fù)位端。當(dāng)產(chǎn)生事件且內(nèi)部中斷寄存器對應(yīng)位被置位時,該引腳產(chǎn)生低電平,通知處理器產(chǎn)生外部中斷,處理器可以通過查看中斷事件寄存器來了解發(fā)生了何種中斷。VSS3(引腳15):輸出驅(qū)動器的接地端。VDD3(引腳12):輸出驅(qū)動器的電源端。Mode(引腳11):模式選擇端。VSS1(引腳8):邏輯地。CLKOUT(引腳7):SJA1000的時鐘信號輸入端。/E(引腳5):Intel模式下,該引腳為信號輸入端,Motorola模式下,該引腳為E信號輸入端。Motorola模式下,該引腳為AS信號輸入端。AD7AD0(引腳2823):這8個引腳為8位地址/數(shù)據(jù)端。表31 PeliCAN模式的增強功能 (active) active 支持帶有29位標(biāo)識符的網(wǎng)絡(luò)擴(kuò)展應(yīng)用發(fā)送緩沖器有11位或29位標(biāo)識符的報文的單報文發(fā)送緩沖器增強的驗收濾波器兩個驗收濾波器模式支持11位和29位標(biāo)識符的濾波可讀的錯誤計數(shù)器支持錯誤分析在原型階段和在正常操作期間可用于:診斷、系統(tǒng)維護(hù)、系統(tǒng)優(yōu)化可編程的出錯警告界限仲裁丟失捕捉中斷支持系統(tǒng)優(yōu)化包括報文延遲時間的分析單次發(fā)送使軟件命令最小化和允許快速重載發(fā)送緩沖器僅聽模式SJA1000能夠作為一個認(rèn)可的CAN 監(jiān)控器操作,可以分析CAN 總線通信或進(jìn)行自動位速率檢測自測試模式支持全部CAN 節(jié)點的功能自測試或在一個系統(tǒng)內(nèi)的自接收SJA1000內(nèi)部由接口管理邏輯、發(fā)送緩沖區(qū)、接收FIFO、比特流處理器、接收濾波器、定位邏輯器、錯誤管理邏輯、復(fù)位模塊和振蕩電路這幾個部分組成。圖32 CAN控制器SJA1000在系統(tǒng)中的位置本設(shè)計采用PeliCAN模式,因此只給出PeliCAN模式增強功能。而且它還提供一些增強功能,例如,SJA1000支持一些錯誤分析功能,支持系統(tǒng)診斷、系統(tǒng)維護(hù)和系統(tǒng)優(yōu)化,而且這個模式里也加入了對一般CPU的支持和系統(tǒng)自身測試的功能。因此用PCA82C200開發(fā)的已有硬件和軟件可以直接在SJA1000上使用,而不用作任何修改。其特性如下: 圖31 SJA1000引腳排布● 引腳與PCA82C200獨立控制器兼容;● 電氣參數(shù)與PCA82C200獨立CAN控制器兼容;● 具有PeliCAN模式;● 有擴(kuò)展的接收緩沖器64字節(jié),先進(jìn)先出(FIFO);● ;● 支持11位和29為標(biāo)志碼;● 通信速率可達(dá)1Mbps;● 24MHz時鐘頻率;● 可與不同的微處理器接口;● 可編程的CAN輸出驅(qū)動器配置;SJA1000獨立的CAN控制器有2個不同的操作模式:BasicCAN模式和PeliCAN模式。 SJA1000特性分析SJA1000芯片是目前廣泛流行的CAN總線器件之一,它是應(yīng)用于汽車和一般工業(yè)環(huán)境的獨立CAN總線控制器。片上FLASH允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。 系統(tǒng)元器件特性分析 STC89C52特性分析STC89C52是一款低功耗、高性能CMOS8位微處理器,具有8K在系統(tǒng)可編程FLASH存儲器。但是其不提供待機模式。這是全世界使用最廣泛的CAN收發(fā)器,因此其更易于掌握。其內(nèi)部具有限流電路,可以防止發(fā)送輸出級對電源、地或負(fù)載短路。 CAN總線驅(qū)動器選型CAN總線驅(qū)動器提供了CAN控制器與物理總線之間的接口,是影響系統(tǒng)網(wǎng)絡(luò)性能的關(guān)鍵因素之一。SJA1000是一款我們比較熟悉的CAN總線控制器芯片,其在我國市面上容易購買,其具有高的性能,容易掌握,價格也比較便宜。后者在許多特定情況下,使電路設(shè)計簡化和緊湊,效率提高。其類型一種是獨立的,一種是和微處理器做在一起的。通過對它的編程,MCU可以設(shè)置它的工作方式,控制它的工作狀態(tài),進(jìn)行數(shù)據(jù)的發(fā)送和接收,把應(yīng)用層建立在它的基礎(chǔ)上。在網(wǎng)絡(luò)的層次結(jié)構(gòu)中,數(shù)據(jù)鏈路層和物理層是保證通信質(zhì)量至關(guān)重要、不可或缺的部分,也是網(wǎng)絡(luò)協(xié)議中最復(fù)雜的部分。雖然其不具有SPI同步通信接口,但是可以通過軟件模擬實現(xiàn)SPI協(xié)議的同步通信。但是AT89S52在使用的過程中需要使用的專用編程器下載用戶程序,這一點會增加設(shè)計的工作量。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。3)AT89S52AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。另外STC89C52價格低廉,可多次重復(fù)擦寫使用,具有很高的性價比。1)STC89C52STC89C52是一款基于51內(nèi)核的51系列單片機,其指令代碼完全兼容傳統(tǒng)的8051單片機,與工業(yè)標(biāo)準(zhǔn)的MCS51指令集和輸出管腳相兼容。所以這里系統(tǒng)方案的選型則主要是元器件的選擇,選擇合適的元器件有利于系統(tǒng)設(shè)計的便利性以及穩(wěn)定性。只要檢測到的錯誤的條件是CRC錯誤,錯誤標(biāo)志的發(fā)送開始于ACK界定符之后的位(其他的錯誤條件除外)[5]。對于“錯誤主動”的節(jié)點,錯誤信息為“主動錯誤標(biāo)志”,對于“錯誤被動”的節(jié)點,錯誤信息為“被動錯誤標(biāo)志”。只要在應(yīng)答間隙(ACK SLOT)期間所監(jiān)視的位不為“顯性”,則發(fā)送器會檢測到一個應(yīng)答錯誤。當(dāng)一個固定形式的位場含有1個或多個非法位,則檢測到一個形式錯誤。如果計算結(jié)果與接收到CRC序列的結(jié)果不相符,則檢測到一個CRC錯誤。CRC序列包括發(fā)送器的CRC計算結(jié)果。如果在使用位填充法進(jìn)行編碼的信息中,出現(xiàn)了第6個連續(xù)相同的位電平時,將檢測到一個填充錯誤。當(dāng)發(fā)送器發(fā)送一個被動錯誤標(biāo)志但檢測到“顯性”位時,也不視為位錯誤。但是在仲裁場(ARBITRATION FIELD)的填充位流期間或應(yīng)答間隙(ACK SLOT)發(fā)送一“隱性”位的情況是例外的。單元在發(fā)送位的同時也對總線進(jìn)行監(jiān)視。 CAN總線錯誤處理1)錯誤檢測有以下5種不同的錯誤類型(這5種錯誤不會相互排斥)。由過載條件1而引發(fā)的過載幀只允許起始于所期望的間歇場的第一個位時間開始。過載幀包括兩個位場:過載標(biāo)志和過載界定符。有兩種形式的錯誤標(biāo)志,主動錯誤標(biāo)志(Active error flag)和被動錯誤標(biāo)志(Passive error flag)。為了能正確地終止錯誤幀,“錯誤被動”的節(jié)點要求總線至少有長度為3個位時間的總線空閑(如果“錯誤被動”的接收器有本地錯誤的話)。第一個場用作為不同站提供的錯誤標(biāo)志(ERROR FLAG)的疊加。3)錯誤幀:任何單元檢測到總線錯誤就發(fā)出錯誤幀。遠(yuǎn)程幀由6個不同的位場組成:幀起始、仲裁場、控制場、CRC場、應(yīng)答場、幀末尾。數(shù)據(jù)幀(或遠(yuǎn)程幀)通過幀間空間與前述的各幀分開。數(shù)據(jù)幀由7個不同的位場組成:幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC場、應(yīng)答場、幀結(jié)尾。 CAN總線報文傳輸結(jié)構(gòu)報文傳輸由以下4個不同的幀類型所表示。物理層定義了信號如何實現(xiàn)傳輸,因此涉及到位時間、位編碼、同步的解釋,CAN總線協(xié)議并未對物理層部分進(jìn)行具體的規(guī)定[4]。其中LLC層接收MAC層傳遞的報文,主要完成報文濾波、過載通知以及恢復(fù)管理等工作。物理層物理層物理層的作用是在不同節(jié)點之間根據(jù)所有的電氣屬性進(jìn)行位的實際傳輸。表21 CAN總線協(xié)議層次結(jié)構(gòu)協(xié)議層對應(yīng)OSI模型說明LLC數(shù)據(jù)鏈路層邏輯鏈路控制子層,用于為鏈路中的數(shù)據(jù)傳輸提供上層控制手段。 CAN總線協(xié)議CAN總線協(xié)議主要描述設(shè)備之間的信息傳遞方式,從結(jié)構(gòu)上可分成3個層次,分別對應(yīng)OSI網(wǎng)絡(luò)模型的最低兩層數(shù)據(jù)鏈路層和物理層。7)報文不包含源地址或目標(biāo)地址,僅用標(biāo)志符來指示功能信息、優(yōu)先級信息。6)節(jié)點在錯誤嚴(yán)重的情況下具有自動退出總線的功能。這一特點保證了數(shù)據(jù)傳輸?shù)目煽啃砸约巴话l(fā)錯誤的處理能力。這一點和前面的第一點是有所聯(lián)系的,在多主式的通信過程中處理好各個模塊的數(shù)據(jù)傳輸優(yōu)先級以及數(shù)據(jù)的仲裁是十分關(guān)鍵的一步,CAN總線提供了這么好的一個管理“平臺”。貨場的工作環(huán)境比較惡劣,尤其是噪聲比較大,這在初期的調(diào)研中得到或驗證,因此系統(tǒng)的設(shè)計必須考慮到噪聲干擾的因素,而CAN總線的特性恰恰解決了這一問題,它能夠適應(yīng)這種高噪聲的惡劣環(huán)境??垢蓴_能力以及經(jīng)濟(jì)上的考慮CAN總線也是一個不錯的選擇。2)具有實時性強、傳輸距離較遠(yuǎn)、抗電磁干擾能力強、成本低等優(yōu)點。 分析以上CAN總線的特點總結(jié)得到其主要優(yōu)點有:1)廢除傳統(tǒng)的站地址編碼,代之以對通信數(shù)據(jù)塊進(jìn)行編碼,可以多主方式工作。采用這種
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1