日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器,俗稱單片機。

 89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器,俗稱單片機。

1 引言

CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是一種國際標準的,高性價的現(xiàn)場總線,在自動控制領域具有重要作用。CAN是一種多主方式的串行通訊總線,具有較高的實時性能,因此,廣泛應用于汽車工業(yè)、航空工業(yè)、工業(yè)控制、安全防護等領域。

由于PC機無CAN接口,因此,PC機與智能節(jié)點構成CAN總線系統(tǒng)可采用RS232/CAN、并口/CAN、USB/CAN、ISA卡/CAN以及PCI卡/CAN方式接入。而采用RS232/CAN接入時,需采用CAN/RS232接口標準轉換。針對這一問題,提出了CAN/RS232智能電平轉換器設計方案,以SJAl000作為獨立CAN控制器,完成CAN通信協(xié)議。并在SJAl000與驅(qū)動器之間連接高速光耦,從而實現(xiàn)總線各點間的電氣隔離。

2 硬件電路設計

CAN/RS232智能電平轉換器硬件電路主要由微處理器AT89C52、獨立CAN通訊控制器SJAl000、CAN總線驅(qū)動器82C250、高速光電耦合器6N136、TTL電平與RS232電平轉換器ICL232、LED數(shù)碼管顯示電路以及為SJAl000提供初始地址的撥碼電路組成,其結構框圖如圖1所示。

 


3 CAN控制器SJAlOOO

SJAl000是一款獨立CAN控制器,應用于移動目標和工業(yè)局域區(qū)域網(wǎng)控制領域。該器件是Philips公司CAN控制器PCA82C200的替代產(chǎn)品。SJAl000具有兩種工作模式,本設計采用PeliCAN工作模式。

3.1 SJAl000與AT89C52的接口設計

SJAl000與AT89C52的接口電路如圖2所示。AT89C52負責sJAl000的初始化,控制SJAl000來實現(xiàn)數(shù)據(jù)的接收和發(fā)送等通訊任務。SJAl000的ADO~AD7連接至AT89C52的P0端口,CS連接至AT89C52的P3.4(AT89C52的定時器T0不起作用)。當P3.4為0時,AT89C52選中SJAl000,并通過訪問外部RAM低地址區(qū)實現(xiàn)P0端口的讀/寫操作,從而對SJAl000相應寄存器執(zhí)行讀/寫操作。SJAl000的RD、WR、ALE引腳分別與AT89C52的對應引腳相連,SJAl000的INT引腳接AT89C52的INTO引腳。AT89C52還可通過中斷方式訪問SJAl000。為了增強系統(tǒng)的穩(wěn)定性,采用雙晶體振蕩器,AT89C52采用11.059 2 MHz的晶體振蕩器,SJAl000選用16 MHz的晶體振蕩器。復位電路可選用DSl232,其輸出引腳ARES與SRES分別與AT89C5l的RESET引腳和SJAl000的RESET引腳相連。


3.2 SJAl000與驅(qū)動器的連接

SJAl000的TX0、RX0引腳不是直接與82C250的TXD、RXD引腳相連,而是通過高速光耦6N136與82C250相連,這樣可增強CAN總線節(jié)點的抗干擾能力,從而實現(xiàn)總線各節(jié)點間電氣隔離。高速光耦6N136用于保護SJAl000型CAN總線控制器,該光耦兩側采用5 V的DC―DC電源??墒蛊骷腣CC與VCCl完全隔離,提高系統(tǒng)的抗干擾能力以及節(jié)點的穩(wěn)定性和安全性。圖3所示為SJAl000與CAN驅(qū)動器82C250的連接電路。

 

 

4 軟件程序設計

系統(tǒng)軟件程序設計包括:主程序、CAN節(jié)點初始化子程序、RS232報文發(fā)送子程序、RS232報文接收子程序、CAN報文接收子程序以及CAN報文發(fā)送子程序。其主程序流程圖如圖4所示。

 

 

4.1 CAN節(jié)點初始化

獨立CAN控制器SJAl000必須在上電或硬件復位后設置CAN通訊。上電后SJAl000的17引腳得到一個復位電平(低電平),使其進入復位模式。初始化包括設置工作方式、接收濾波方式、接收屏蔽寄存器和接收代碼寄存器、波特率參數(shù)和中斷允許寄存器。初始化設置完成后,SJAl000則進入工作狀態(tài),開始執(zhí)行通訊任務。

SJAl000寄存器初始化,首先要將其模式寄存器(MOD)復位模式位置為l,再通過時鐘分頻寄存器(CDR)選擇PeliCAN工作模式,同時關閉時鐘輸出(CLOCKOUT);通過中斷允許寄存器(IER)開啟發(fā)送中斷、溢出中斷和錯誤警告中斷;向接收屏蔽寄存器(AMR)和接收代碼(ACR)寄存器賦初值;通過總線定時寄存器0 (BTR0)和總線定時寄存器1(BTRl)設置波特率;為輸出控制寄存器(OCR)賦初值;通過接收緩沖器起始地址寄存器(RBSA)來設置接收緩沖器FIF0的起始地址;清除發(fā)送錯誤計數(shù)寄存器(TXERR);清除錯誤代碼捕捉寄存器(ECC),最后再次選擇方式寄存器(MOD),設置單濾波,并返回工作狀態(tài)。

4.2 RS232報文發(fā)送

AT89C52內(nèi)含一組全雙工串行傳輸界面,可同時接收或傳輸外部數(shù)據(jù),其信號為TTL電平。由于與標準的RS232界面不兼容,須加電平準轉換IC才可與RS232相連。AT89C52串行發(fā)送及接收數(shù)據(jù)均是通過特殊功能暫存器SBUF完成,在設定通訊協(xié)議模式后,通過指令“MOV SUBF,A”就可將存儲在SBUF暫存器內(nèi)的數(shù)據(jù)由引腳TXD串行傳輸。

4.3 RS232報文接收

AT89C52串行傳輸控制暫存器是由特殊控制暫存器SCON控制,SCON設定串行傳輸工作模式,發(fā)送接收時其第9位及發(fā)送接收時中斷指示工作。通過指令“MOV A,SBUF”則將外界串行信號經(jīng)由RXD引腳讀入,并轉換成并列數(shù)據(jù)存入暫存器A。

4.4 CAN報文發(fā)送

根據(jù)CAN協(xié)議,報文傳輸是由獨立CAN控制器SJAl000完成。主控制器必須將要發(fā)送的數(shù)據(jù)按特定格式組合成一幀報文傳輸?shù)桨l(fā)送緩沖器,將命令寄存器中的“發(fā)送請求”置1,然后啟動SJAl000發(fā)送即可。

4.5 CAN報文接收

CAN報文接收子程序負責節(jié)點的報文接收和其他情況的處理。接收子程序在結構上要比發(fā)送子程序復雜一些,因為在接收報文時,要對同處理諸如總線關閉、錯誤報警、接收溢出等情況。SJAl000報文接收和發(fā)送有兩種方式:中斷方式和查詢方式。查詢方式應禁止接收中斷使能,而中斷方式一般用于實時性要求較高的情況。

在中斷方式下,如果SJAl000已接收一個報文,而且報文通過驗收濾波器并存入接收FIFO,則產(chǎn)生一個接收中斷。因此主控制器立刻工作,將收到的報文發(fā)送到報文存儲器中,再通過置位命令寄存器的相應標志“RRB”發(fā)送一個釋放接收緩沖器命令。接收FIF0里的更多報文將產(chǎn)生一個新的接收中斷,因此不能將所有接收FIF0中的有效信息在一個中斷周期內(nèi)讀出。接收緩沖器釋放后,SJAl000會檢查狀態(tài)寄存器中接收緩沖器狀態(tài)(RBS)是否有更多報文,所有有效信息都將循環(huán)讀出。

5 結語

本系統(tǒng)設計采用SJAl000作為CAN獨立控制器,以CAN/RS232智能電平轉換器為實例,論述了CAN總線與單片機之間的接口連接,對CAN總線的實際應用具有一定的參考價值。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

德國康佳特亮相上海工博會,展示多款應用就緒的嵌入式解決方案平臺

關鍵字: 嵌入式 傳感器 處理器

雙方攜手為客戶打造以存儲為核心的模塊化基礎架構,支持先進的多裸片架構設計

關鍵字: 非易失性存儲 半導體 嵌入式

本屆年會將在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)舉行,面向嵌入式設計工程師推出25門技術課程

關鍵字: 嵌入式 MCU 模擬

上海2025年9月5日 /美通社/ -- 由紐倫堡會展(上海)有限公司舉辦的上海國際嵌入式會議將于 2025 年 10 月 16-17 日在上海世博展覽館舉辦。 此次會議將由三個版塊組成:嵌入式技術會議、汽...

關鍵字: 嵌入式 CE CHINA EMBEDDED

從外部看,電子系統(tǒng)仿佛一個統(tǒng)一的學科或設備,各組成部分協(xié)同工作,渾然一體。然而揭開表象,其內(nèi)在卻是另一番景象:一個碎片化、多層次的世界——其中每一層都獨立且復雜,衍生出各自特有的工具、專家、工作流程,甚至哲學體系。

關鍵字: 嵌入式 電子系統(tǒng) 半導體

8位單片機在嵌入式設計領域已經(jīng)成為半個多世紀以來的主流選擇。盡管嵌入式系統(tǒng)市場日益復雜,8位單片機依然不斷發(fā)展,積極應對新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機系列,配備了先進的獨立...

關鍵字: 單片機 嵌入式 CPU

深圳2025年8月28日 /美通社/ -- 8月26日,2025 ELEXCON深圳國際電子展盛大啟幕。本屆大會以"All for AI"為主題,深圳市德...

關鍵字: AI 工業(yè)級 SSD 嵌入式

深圳2025年8月26日 /美通社/ -- 8月26日,由博聞創(chuàng)意會展主辦的 第22屆深圳國際電子展暨嵌入式展(elexcon2025)在深圳(福田)會展中心隆重開幕。 作為中國電子與嵌入式技術領域的專業(yè)大展,本屆展會...

關鍵字: 嵌入式 電子 高通 AI

模塊化設計作為一種將系統(tǒng)拆分為獨立、可復用組件的方法,能夠在低代碼平臺中實現(xiàn)功能的靈活組合,并最大限度地提升系統(tǒng)性能。本文將探討如何通過模塊化設計,使得低代碼平臺既能快速適應變化,又能保持高效穩(wěn)定的運行。

關鍵字: 模塊化設計 嵌入式

CPU親和度通過限制進程或線程可以運行的CPU核心集合,使得它們只能在指定的CPU核心上執(zhí)行。這可以減少CPU緩存的失效次數(shù),提高緩存命中率,從而提升系統(tǒng)性能。

關鍵字: Linux 嵌入式
關閉