哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于采用SJAl000的CAN/RS232智能電平轉(zhuǎn)換器設(shè)計(jì)方案

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2018-12-30 07:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

2 硬件電路設(shè)計(jì)

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

基于采用SJAl000的CAN/RS232智能電平轉(zhuǎn)換器設(shè)計(jì)方案

3 CAN控制器SJAlOOO

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

3.1 SJAl000與AT89C52的接口設(shè)計(jì)

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

基于采用SJAl000的CAN/RS232智能電平轉(zhuǎn)換器設(shè)計(jì)方案

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

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

基于采用SJAl000的CAN/RS232智能電平轉(zhuǎn)換器設(shè)計(jì)方案

4 軟件程序設(shè)計(jì)

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

基于采用SJAl000的CAN/RS232智能電平轉(zhuǎn)換器設(shè)計(jì)方案

4.1 CAN節(jié)點(diǎn)初始化

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

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

4.2 RS232報(bào)文發(fā)送

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

4.3 RS232報(bào)文接收

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

4.4 CAN報(bào)文發(fā)送

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

4.5 CAN報(bào)文接收

CAN報(bào)文接收子程序負(fù)責(zé)節(jié)點(diǎn)的報(bào)文接收和其他情況的處理。接收子程序在結(jié)構(gòu)上要比發(fā)送子程序復(fù)雜一些,因?yàn)樵诮邮請(qǐng)?bào)文時(shí),要對(duì)同處理諸如總線關(guān)閉、錯(cuò)誤報(bào)警、接收溢出等情況。SJAl000報(bào)文接收和發(fā)送有兩種方式:中斷方式和查詢方式。查詢方式應(yīng)禁止接收中斷使能,而中斷方式一般用于實(shí)時(shí)性要求較高的情況。

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

5 結(jié)語(yǔ)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    27

    文章

    9443

    瀏覽量

    156899
  • 驅(qū)動(dòng)器
    +關(guān)注

    關(guān)注

    54

    文章

    9111

    瀏覽量

    156429
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    59

    文章

    3093

    瀏覽量

    473378
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    用單片機(jī)實(shí)現(xiàn)智能電平轉(zhuǎn)換器設(shè)計(jì)方案解析

    時(shí),需采用CAN/RS232接口標(biāo)準(zhǔn)轉(zhuǎn)換。針對(duì)這一問(wèn)題,提出了CAN/RS232
    發(fā)表于 10-25 09:57 ?2252次閱讀
    用單片機(jī)實(shí)現(xiàn)<b class='flag-5'>智能</b><b class='flag-5'>電平</b><b class='flag-5'>轉(zhuǎn)換器</b>的<b class='flag-5'>設(shè)計(jì)方案</b>解析

    如何使用89C51單片機(jī)設(shè)計(jì)和實(shí)現(xiàn)智能電平轉(zhuǎn)換器硬件

    問(wèn)題,提出了CAN/RS232智能電平轉(zhuǎn)換器設(shè)計(jì)方案,以SJ
    發(fā)表于 09-25 15:58

    TTL轉(zhuǎn)RS232電平轉(zhuǎn)換電路及工作原理

    的名稱,叫RS23接口,而RS232接口是串口通訊的一種,其實(shí)所謂的接口,我的理解就是一種通信協(xié)議,規(guī)定了傳輸電平,傳輸方式,及怎么傳輸數(shù)據(jù)等等。 協(xié)議標(biāo)準(zhǔn)規(guī)定采用一個(gè)25個(gè)腳的DB2
    發(fā)表于 02-25 13:30

    怎樣去設(shè)計(jì)CAN總線控制sJAl000驅(qū)動(dòng)程序?計(jì)

    CAN總線及控制工作原理是什么?流接口驅(qū)動(dòng)程序工作機(jī)制是怎樣的?怎樣去設(shè)計(jì)CAN總線控制sJAl000驅(qū)動(dòng)程序?
    發(fā)表于 04-27 06:41

    怎么實(shí)現(xiàn)RS232通信網(wǎng)絡(luò)與CAN總線通信網(wǎng)絡(luò)互聯(lián)的設(shè)計(jì)?

    本文采用ATMega16、SJAl000、MCP2551和MAX232,設(shè)計(jì)開發(fā)了CAN總線轉(zhuǎn)232的接口,完成了兩種協(xié)議的
    發(fā)表于 06-02 06:30

    CANRS232轉(zhuǎn)換節(jié)點(diǎn)的設(shè)計(jì)與實(shí)現(xiàn)

    CANRS232轉(zhuǎn)換節(jié)點(diǎn)的設(shè)計(jì)與實(shí)現(xiàn) 介紹將CAN總線接口與RS232總線接口相互轉(zhuǎn)換的設(shè)計(jì)
    發(fā)表于 03-30 16:39 ?75次下載

    CANRS232轉(zhuǎn)換節(jié)點(diǎn)的設(shè)計(jì)與實(shí)現(xiàn)

    介紹將CAN總線接口與RS232總線接口相互轉(zhuǎn)換的設(shè)計(jì)方法和2種總線電平轉(zhuǎn)換關(guān)系,實(shí)現(xiàn)CAN總線
    發(fā)表于 04-15 09:26 ?45次下載

    CAN總線 RS232接口的軟件設(shè)計(jì)

    采用獨(dú)立CAN控制SJA1000作為CAN總線/RS232智能
    發(fā)表于 12-16 16:35 ?106次下載

    利用STC11F02E的RS232/RS485轉(zhuǎn)換器設(shè)計(jì)方案

    利用STC11F02E的RS232/RS485轉(zhuǎn)換器設(shè)計(jì)方案 為了便于對(duì)分布式的各個(gè)現(xiàn)場(chǎng)測(cè)控設(shè)備實(shí)現(xiàn)集中控制,現(xiàn)場(chǎng)總線技術(shù)得到了廣泛的應(yīng)用。RS
    發(fā)表于 03-17 10:49 ?8848次閱讀
    利用STC11F02E的<b class='flag-5'>RS232</b>/<b class='flag-5'>RS</b>485<b class='flag-5'>轉(zhuǎn)換器</b><b class='flag-5'>設(shè)計(jì)方案</b>

    無(wú)源RS485和RS232轉(zhuǎn)換器如何與終端可靠連接

    PLC一般使用RS485接口,和LCD終端的RS232接口連接需要使用一個(gè)RS232/RS485轉(zhuǎn)換器,注意LCD終端的
    發(fā)表于 05-23 08:00 ?0次下載
    無(wú)源<b class='flag-5'>RS</b>485和<b class='flag-5'>RS232</b><b class='flag-5'>轉(zhuǎn)換器</b>如何與終端可靠連接

    基于89C51單片機(jī)的智能電平轉(zhuǎn)換器硬件電路設(shè)計(jì)

    時(shí),需采用CAN/RS232接口標(biāo)準(zhǔn)轉(zhuǎn)換。針對(duì)這一問(wèn)題,提出了CAN/RS232
    發(fā)表于 07-25 15:56 ?2504次閱讀
    基于89C51單片機(jī)的<b class='flag-5'>智能</b><b class='flag-5'>電平</b><b class='flag-5'>轉(zhuǎn)換器</b>硬件電路設(shè)計(jì)

    運(yùn)用CAN232B轉(zhuǎn)換器實(shí)現(xiàn)RS232/CAN網(wǎng)絡(luò)的數(shù)據(jù)智能轉(zhuǎn)換

    使用RS232/RS485信號(hào)轉(zhuǎn)換器。但是,由于RS485通訊本身的局限性,在實(shí)際應(yīng)用中存在許多不足:總線效率低、系統(tǒng)的實(shí)時(shí)性差、通訊的可靠性低、網(wǎng)絡(luò)工程調(diào)試復(fù)雜、傳輸距離不理想、單總
    發(fā)表于 03-30 09:33 ?4345次閱讀

    【STM32筆記1】TTL、RS232RS485、CAN的主要區(qū)別(另有串口、COM口、UART口的說(shuō)明)

    1、TTL、RS232是邏輯電平信號(hào),而RS485、CAN是差分信號(hào);2、從單片機(jī)芯片或者單片機(jī)軟件編程的角度來(lái)分析,其實(shí)RS485、
    發(fā)表于 12-07 14:36 ?47次下載
    【STM32筆記1】TTL、<b class='flag-5'>RS232</b>、<b class='flag-5'>RS</b>485、<b class='flag-5'>CAN</b>的主要區(qū)別(另有串口、COM口、UART口的說(shuō)明)

    RS232轉(zhuǎn)TTL轉(zhuǎn)換器使用方法

    用于連接計(jì)算機(jī)或具有RS232標(biāo)準(zhǔn)的外部設(shè)備,如調(diào)制解調(diào)、打印機(jī)等。 TTL接口 :用于連接采用TTL邏輯電平的設(shè)備,如單片機(jī)、低電平設(shè)備
    的頭像 發(fā)表于 11-21 09:22 ?3979次閱讀

    RS232接口轉(zhuǎn)換為TTL信號(hào)的方法

    RS232接口:通常用于連接計(jì)算機(jī)或具有RS232標(biāo)準(zhǔn)的外部設(shè)備,如調(diào)制解調(diào)、打印機(jī)等。 TTL接口:用于連接采用TTL邏輯電平的設(shè)
    的頭像 發(fā)表于 12-19 09:36 ?5215次閱讀
    始兴县| 错那县| 南昌县| 鄂州市| 龙川县| 将乐县| 司法| 庄浪县| 中方县| 郎溪县| 化隆| 都江堰市| 石河子市| 文山县| 永嘉县| 鄂温| 水城县| 敦化市| 滦平县| 马关县| 新昌县| 福贡县| 新乡市| 博野县| 荆州市| 双江| 黄龙县| 镇康县| 北安市| 外汇| 吉木萨尔县| 昌吉市| 淮北市| 梅州市| 中超| 永定县| 冕宁县| SHOW| 虎林市| 铅山县| 黄陵县|