在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

基于STC89C52RC單片機(jī)和SJA1000總線控制器實(shí)現(xiàn)采集與控制模塊的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:現(xiàn)代電子技術(shù) ? 作者:郝壽朋;劉瑞玲 ? 2020-03-14 08:05 ? 次閱讀

引言

隨著計(jì)算機(jī)網(wǎng)絡(luò)上的高速發(fā)展,使得信息的交流與共享變得空前廣泛和自如,而這項(xiàng)技術(shù)也滲入到自動(dòng)化領(lǐng)域的變革當(dāng)中,現(xiàn)場(chǎng)總線(Fieldbus)由此應(yīng)運(yùn)而生,開創(chuàng)了工業(yè)控制的新篇章。現(xiàn)場(chǎng)總線是一種應(yīng)用于生產(chǎn)現(xiàn)場(chǎng),在現(xiàn)場(chǎng)設(shè)備之間、現(xiàn)場(chǎng)設(shè)備和控制裝置之間實(shí)行雙向、串形、多結(jié)點(diǎn)的數(shù)字通信技術(shù),在當(dāng)今自動(dòng)化領(lǐng)域中具有廣闊的發(fā)展前景。本文給出了一種基于CAN總線的數(shù)據(jù)采集與控制系統(tǒng)設(shè)計(jì)方案,實(shí)現(xiàn)對(duì)開關(guān)量的數(shù)據(jù)采集和對(duì)外部設(shè)備的控制功能。

控制器局域網(wǎng)(Controller Area Network,CAN)總線是現(xiàn)場(chǎng)總線的一種,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行網(wǎng)絡(luò)通信,已經(jīng)被廣泛地應(yīng)用于工業(yè)自動(dòng)化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等方面,并被公認(rèn)為最有前途的現(xiàn)場(chǎng)總線之一,其主要特點(diǎn)如下:

(1)CAN是有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線。

(2)CAN為多主工作方式,網(wǎng)絡(luò)上的任意一節(jié)點(diǎn)都可在任意時(shí)刻向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,且不分主從。

(3)CAN采用非破壞總線仲裁技術(shù)。當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送信息出現(xiàn)沖突時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)將主動(dòng)退出發(fā)送,而優(yōu)先級(jí)高的節(jié)點(diǎn)不受影響繼續(xù)發(fā)送。

(4)CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,使總線上其他節(jié)點(diǎn)的操作不受影響。

(5)報(bào)文采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾概率低,而且每幀都有CRC校驗(yàn)及其他校驗(yàn)措施,具有極好的檢錯(cuò)效果。

(6)CAN的直接最遠(yuǎn)通信距離可達(dá)10 km,最高通信速率可達(dá)1 Mb/s。

1 、系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)

系統(tǒng)主要由上位機(jī)(PC機(jī))和數(shù)據(jù)采集和控制模塊組成。系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。

基于STC89C52RC單片機(jī)和SJA1000總線控制器實(shí)現(xiàn)采集與控制模塊的設(shè)計(jì)

上位機(jī)是整個(gè)系統(tǒng)的核心,實(shí)現(xiàn)系統(tǒng)的監(jiān)控和管理功能。CAN總線智能適配卡的作用是收集各個(gè)CAN節(jié)點(diǎn)上的數(shù)據(jù),然后轉(zhuǎn)發(fā)到上位機(jī),同時(shí)把上位機(jī)的命令轉(zhuǎn)發(fā)到各個(gè)節(jié)點(diǎn)。由于CAN總線特有的多主傳輸方式,各個(gè)節(jié)點(diǎn)根據(jù)需要自主地向總線發(fā)送數(shù)據(jù),而且在上位機(jī)監(jiān)聽各個(gè)節(jié)點(diǎn)的同時(shí),節(jié)點(diǎn)也實(shí)時(shí)監(jiān)聽總線并接收自己需要的數(shù)據(jù)。數(shù)據(jù)采集和控制模塊采用微處理器和可編程的CAN控制芯片,主要用于完成現(xiàn)場(chǎng)數(shù)據(jù)的采集、數(shù)據(jù)的傳送以及各個(gè)現(xiàn)場(chǎng)設(shè)備運(yùn)行的控制。

2、 數(shù)據(jù)采集和控制模塊硬件設(shè)計(jì)

基于CAN總線的數(shù)據(jù)采集與控制系統(tǒng)將功能盡可能地分散到各個(gè)控制模塊中,各個(gè)模塊以微處理器為核心,完成數(shù)據(jù)采集和控制功能。為了使信息能在CAN協(xié)議的標(biāo)準(zhǔn)下進(jìn)行通信,各個(gè)模塊都設(shè)有CAN總線接口電路。該模塊的微處理器(MCU)選用宏晶科技的STC89C52RC單片機(jī)。STC89C52RC是新一代超強(qiáng)抗干擾、高速、低功耗的8位單片機(jī),指令代碼完全兼容傳統(tǒng)的8051單片機(jī),36個(gè)通用I/O口,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4路外部中斷。根據(jù)實(shí)際需求分析,STC89C52RC單片機(jī)完全滿足本設(shè)計(jì)的需求。數(shù)據(jù)采集和控制模塊的結(jié)構(gòu)如圖2所示。

基于STC89C52RC單片機(jī)和SJA1000總線控制器實(shí)現(xiàn)采集與控制模塊的設(shè)計(jì)

2.1 CAN總線接口硬件設(shè)計(jì)

CAN總線接口硬件結(jié)構(gòu)如圖3所示。

基于STC89C52RC單片機(jī)和SJA1000總線控制器實(shí)現(xiàn)采集與控制模塊的設(shè)計(jì)

在本系統(tǒng)中CAN總線控制器選用SJA1000。SJA1000是Philips公司生產(chǎn)的獨(dú)立的CAN總線控制器,可以應(yīng)用于一般的工業(yè)環(huán)境中和移動(dòng)目標(biāo)的CAN總線網(wǎng)絡(luò)控制。SJA1000是Philips半導(dǎo)體PCA82C200 CAN總線控制器BasicCAN的替代產(chǎn)品,而且增加了一種新的工作模式PeliCAN,這種模式能支持具有很多新特性的CAN 2.0B協(xié)議。基本特性如下:兼容BasicCAN模式;擴(kuò)展地接收緩沖器(64 B,先進(jìn)先出FIFO);同時(shí)支持11位和29位識(shí)別碼;位速率可達(dá)1 Mb/s;24 MHz時(shí)鐘頻率;對(duì)不同微處理器的接口兼容;可編程的CAN輸出驅(qū)動(dòng)器配置。PeliCAN模式擴(kuò)展功能包括;可讀/可訪問的錯(cuò)誤計(jì)數(shù)器;可編程的錯(cuò)誤報(bào)警器;對(duì)每一個(gè)CAN總線錯(cuò)誤進(jìn)行中斷;單次發(fā)送無重發(fā);驗(yàn)收濾波器控制4 B代碼、4 B屏蔽等。

CAN總線收發(fā)器選用Philips公司生產(chǎn)的專用CAN總線收發(fā)器PCA82C250,提供CAN總線協(xié)議控制器和物理總線接口,而且對(duì)CAN總線控制器提供差動(dòng)接收能力。基本特性如下:高速率(最高達(dá)1 Mb/s);具有抗瞬間干擾和保護(hù)總線的能力;利用斜率控制,可降低射頻干擾;使用差分接收器,可抗寬范圍的共模干擾,以及抗電磁干擾;熱保護(hù);低電流待機(jī)模式;未上電的節(jié)點(diǎn)對(duì)總線無影響;可以支持多達(dá)110個(gè)節(jié)點(diǎn)。 [page]

為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,并不是在SJA1000與PCA82C250之間直接相連,而是加入了高速光耦隔離器。這樣能很好地實(shí)現(xiàn)總線上各個(gè)CAN總線節(jié)點(diǎn)之間的電氣隔離。在該系統(tǒng)中高速光耦采用6N137。6N137兼容TTL和COMS電平,可通過信號(hào)的寬度為10 MHz,完全可滿足CAN總線信號(hào)1 Mb/s通信速率的要求。

2.2 開關(guān)量數(shù)據(jù)采集單元硬件設(shè)計(jì)

該單元用于采集現(xiàn)場(chǎng)的開關(guān)量數(shù)據(jù)的采集。硬件電路圖如圖4所示。

基于STC89C52RC單片機(jī)和SJA1000總線控制器實(shí)現(xiàn)采集與控制模塊的設(shè)計(jì)

該單元將采集到的開關(guān)量數(shù)據(jù)傳送到微處理器,并傳送到CAN總線上,然后通過CAN總線智能適配卡轉(zhuǎn)發(fā)給上位機(jī)進(jìn)行處理。外界環(huán)境以及電路、器件本身對(duì)系統(tǒng)引入了干擾和噪聲,為了提高單片機(jī)系統(tǒng)的性能,保證其穩(wěn)定性,采用光耦器件進(jìn)行隔離,抑制干擾。光耦器件將電信號(hào)轉(zhuǎn)變?yōu)楣庑盘?hào),光信號(hào)傳送到接受側(cè)再轉(zhuǎn)換為電信號(hào)。由于光信號(hào)的傳送不需要共地。可以將光耦器件兩側(cè)的地加以隔離。因此在加入光耦器件后,在傳輸信的同時(shí)能有效地抑制尖脈沖和各種噪聲干擾,大大提高通道上的信噪比。需要注意的是光耦器件兩端的電源不能共用,否則起不到隔離的作用。

2.3 控制單元硬件設(shè)計(jì)

該單元用于控制現(xiàn)場(chǎng)外部設(shè)備的運(yùn)行。該單元硬件電路如圖5所示。

基于STC89C52RC單片機(jī)和SJA1000總線控制器實(shí)現(xiàn)采集與控制模塊的設(shè)計(jì)

該單元是上位機(jī)按照預(yù)先設(shè)定好的程序自動(dòng)控制輸出,上位機(jī)通過CAN總線智能適配卡傳送開關(guān)量到CAN總線,然后數(shù)據(jù)采集和控制模塊根據(jù)需要接受CAN總線上的開關(guān)量,以控制現(xiàn)場(chǎng)設(shè)備。在該單元中,開關(guān)量通過單片機(jī)的I/O端口輸出,但I(xiàn)/O端口的驅(qū)動(dòng)能力有限,一般不足以驅(qū)動(dòng)繼電器,此時(shí)需要添加驅(qū)動(dòng)電路。同時(shí),為了避免單片機(jī)受到干擾,在驅(qū)動(dòng)電路設(shè)計(jì)時(shí),必須采取隔離措施。

3、 軟件設(shè)計(jì)

該系統(tǒng)軟件設(shè)計(jì)主要分為兩個(gè)部分:數(shù)據(jù)采集與控制模塊程序設(shè)計(jì)和CAN總線通信程序設(shè)計(jì)。

3.1 數(shù)據(jù)采集與控制模塊程序設(shè)計(jì)

數(shù)據(jù)采集與控制模塊程序設(shè)計(jì)流程圖如圖6所示。

基于STC89C52RC單片機(jī)和SJA1000總線控制器實(shí)現(xiàn)采集與控制模塊的設(shè)計(jì)

3.2 CAN總線通信程序設(shè)計(jì)

CAN總線通信程序設(shè)計(jì)分為三個(gè)部分:CAN總線初始化、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收。

(1)CAN總線初始化。CAN總線初始化主要是設(shè)置一些通信參數(shù),保證通信的正常進(jìn)行。初始化主要包括工作方式的設(shè)置、驗(yàn)收濾波方式的設(shè)置、驗(yàn)收屏蔽寄存器和驗(yàn)收代碼寄存器的設(shè)置、波特率參數(shù)設(shè)置、中斷允許寄存器的設(shè)置等。特別需要注意的是,初始化只有在復(fù)位模式下才可以進(jìn)行,因?yàn)镾JA1000配置信息的寄存器只有在復(fù)位模式下才可以進(jìn)行寫操作。

(2)數(shù)據(jù)發(fā)送。數(shù)據(jù)發(fā)送前,微處理器周期查詢狀態(tài)寄存器,查看發(fā)送緩沖器是否被鎖定。若沒有鎖定,則把從現(xiàn)場(chǎng)取得的開關(guān)量數(shù)據(jù)發(fā)向CAN總線控制器的發(fā)送緩沖區(qū),然后啟動(dòng)CAN總線控制器發(fā)送命令,此時(shí)CAN總線控制器自動(dòng)向總線發(fā)送數(shù)據(jù)。數(shù)據(jù)發(fā)送的流程圖如圖7所示。

基于STC89C52RC單片機(jī)和SJA1000總線控制器實(shí)現(xiàn)采集與控制模塊的設(shè)計(jì)

(3)數(shù)據(jù)接收。數(shù)據(jù)接收采用中斷方式。系統(tǒng)中的CAN控制器檢測(cè)到總線上有數(shù)據(jù)時(shí)會(huì)自動(dòng)接收總線上的數(shù)據(jù),存入其接收緩沖區(qū),并向微控制器發(fā)送接收中斷,啟動(dòng)中斷接收服務(wù)程序,通過執(zhí)行中斷接收服務(wù)程序,從CAN控制器的接收緩沖區(qū)讀取數(shù)據(jù),并對(duì)其進(jìn)行進(jìn)一步處理工作。數(shù)據(jù)接收流程圖如圖8所示。

4、 結(jié)語

通過對(duì)系統(tǒng)的軟硬件的反復(fù)調(diào)試表明,該數(shù)據(jù)采集和控制系統(tǒng)的設(shè)計(jì)方案是成功的。該系統(tǒng)能高速有效地采集、傳遞和處理現(xiàn)場(chǎng)數(shù)據(jù),并且能在惡劣環(huán)境下保證通信速率和極低的出錯(cuò)率,運(yùn)行效果很好,體現(xiàn)了CAN總線高性能和高可靠性的優(yōu)點(diǎn)。

責(zé)任編輯:gt


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

    關(guān)注

    6044

    文章

    44651

    瀏覽量

    640195
  • 控制器
    +關(guān)注

    關(guān)注

    113

    文章

    16523

    瀏覽量

    180080
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2910

    瀏覽量

    88572
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于STC89C52RC單片機(jī)問題

    大家好!我是新手如何實(shí)現(xiàn)STC89C52RC單片機(jī)數(shù)碼管交替顯示時(shí)間與溫度,請(qǐng)?zhí)峁╇娐芳俺绦?
    發(fā)表于 11-12 11:25

    CAN控制器SJA1000片選基址怎么確定?

    初學(xué)CAN總線,在學(xué)習(xí)SJA1000時(shí)不知道怎樣確定其片選基址,書上說將SJA1000當(dāng)做外部存儲(chǔ)來對(duì)待,其基址根據(jù)具體的硬件電路來確定,用的是S
    發(fā)表于 07-03 20:53

    基于STC89C52RC單片機(jī)與MATLAB的PM2.5數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    摘要:本文設(shè)計(jì)了基于STC89C52RC單片機(jī)與MATLAB的PM2.5數(shù)據(jù)采集系統(tǒng)。通過STC89C52RC單片機(jī)與夏普GP2Y1010A
    發(fā)表于 07-20 06:12

    初識(shí)STC89C52RC單片機(jī)

    怎樣去使用STC89C52RC單片機(jī)的定時(shí)呢?怎樣去使用STC89C52RC單片機(jī)的串口呢?
    發(fā)表于 10-20 07:32

    SJA1000控制器在多電機(jī)綜合保護(hù)中的應(yīng)用

    介紹了基于獨(dú)立CAN總線控制器SJA1000的井下多電機(jī)綜合保護(hù)的設(shè)計(jì)過程。圍繞綜合保護(hù)核心控制器
    發(fā)表于 12-08 16:43 ?45次下載

    STC89C52RC單片機(jī)或AT89S52單片機(jī)串口發(fā)送溫濕度數(shù)據(jù)的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STC89C52RC單片機(jī)或AT89S52單片機(jī)串口發(fā)送溫濕度數(shù)據(jù)的程序免費(fèi)下載。
    發(fā)表于 07-11 17:40 ?37次下載
    <b class='flag-5'>STC89C52RC</b><b class='flag-5'>單片機(jī)</b>或AT<b class='flag-5'>89S52</b><b class='flag-5'>單片機(jī)</b>串口發(fā)送溫濕度數(shù)據(jù)的程序免費(fèi)下載

    STC89C52RC單片機(jī)實(shí)現(xiàn)模擬路燈控制系統(tǒng)的詳細(xì)資料說明

    模擬路燈控制系統(tǒng)由信號(hào)采集電路、定時(shí)電路、控制電路、顯示電路、輸入電路組成。系統(tǒng)的控制部分由STC89C52RC
    發(fā)表于 09-06 08:00 ?1次下載
    由<b class='flag-5'>STC89C52RC</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>實(shí)現(xiàn)</b>模擬路燈<b class='flag-5'>控制</b>系統(tǒng)的詳細(xì)資料說明

    使用STC89C52RC單片機(jī)實(shí)現(xiàn)的流水燈代碼和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STC89C52RC單片機(jī)實(shí)現(xiàn)的流水燈代碼和工程文件免費(fèi)下載。
    發(fā)表于 11-15 08:00 ?26次下載
    使用<b class='flag-5'>STC89C52RC</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>實(shí)現(xiàn)</b>的流水燈代碼和工程文件免費(fèi)下載

    基于STC89C52RC單片機(jī)的智能定時(shí)開關(guān)電源

    基于STC89C52RC單片機(jī)的智能定時(shí)開關(guān)電源
    發(fā)表于 05-25 11:50 ?74次下載

    51單片機(jī)入門模板(STC89C52RC

    模板STC89C52RC單片機(jī)使用11.0592MHz的晶振,若使用12MHz晶振可修改定時(shí)相關(guān)位置STC89C52RC原理圖模板及分析1.主要結(jié)構(gòu)#include <reg
    發(fā)表于 11-17 09:51 ?46次下載
    51<b class='flag-5'>單片機(jī)</b>入門模板(<b class='flag-5'>STC89C52RC</b>)

    8051單片機(jī)實(shí)戰(zhàn)分析(以STC89C52RC為例) | 10 - 外部中斷的使用

    在前面九篇博文中,我們認(rèn)識(shí)到了一些基于IO口輸入與輸出的基礎(chǔ)電子器件使用:8051單片機(jī)實(shí)戰(zhàn)分析(以STC89C52RC為例) | 01 - 點(diǎn)亮一個(gè)LED8051單片機(jī)實(shí)戰(zhàn)分析(以
    發(fā)表于 11-22 14:06 ?33次下載
    8051<b class='flag-5'>單片機(jī)</b>實(shí)戰(zhàn)分析(以<b class='flag-5'>STC89C52RC</b>為例) | 10 - 外部中斷的使用

    【51單片機(jī)】基于STC89C52RC的心型燈

    【51單片機(jī)】基于STC89C52RC的心型燈
    發(fā)表于 11-23 17:06 ?29次下載
    【51<b class='flag-5'>單片機(jī)</b>】基于<b class='flag-5'>STC89C52RC</b>的心型燈

    【51單片機(jī)】基于STC89C52RC的電子秒表

    【51單片機(jī)】基于STC89C52RC的電子秒表
    發(fā)表于 11-23 17:21 ?51次下載
    【51<b class='flag-5'>單片機(jī)</b>】基于<b class='flag-5'>STC89C52RC</b>的電子秒表

    【轉(zhuǎn)】STC89C52RC單片機(jī)實(shí)現(xiàn)串口打印功能

    【轉(zhuǎn)】STC89C52RC單片機(jī)實(shí)現(xiàn)串口打印功能
    發(fā)表于 11-25 16:06 ?19次下載
    【轉(zhuǎn)】<b class='flag-5'>STC89C52RC</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>實(shí)現(xiàn)</b>串口打印功能

    單片機(jī)STC89C52RC病床呼叫控制系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《單片機(jī)STC89C52RC病床呼叫控制系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 10-11 09:20 ?4次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>STC89C52RC</b>病床呼叫<b class='flag-5'>控制</b>系統(tǒng)
    主站蜘蛛池模板: 五月婷婷色网 | 人人操天天射 | 国产精品久久福利网站 | 国产aaaaa一级毛片 | 91网站在线播放 | 激情久久久久久久久久久 | 欧美人与动性行为网站免费 | 色噜噜狠狠成人影院 | 在线亚洲一区二区 | 国产九九热| 四虎永久在线精品 | 天天爱天天做久久天天狠狼 | 色综合色综合 | 亚洲精品456人成在线 | 国产精品高清一区二区三区不卡 | 成人a毛片手机免费播放 | 国产69精品久久久久9牛牛 | 丁香花成人另类小说 | 色老头网站久久网 | 91x视频| 久久精品视频国产 | 国产美女亚洲精品久久久综合 | 亚洲视频一区网站 | 国产ccc| 免费精品一区二区三区在线观看 | 国产欧美色图 | 97av在线| 免费大片看黄在观看 | 五月婷婷在线视频 | 欧美系列在线播放 | 天天插综合 | 中文字幕在线不卡 | 美女屁屁免费视频网站 | 欧美一级精品高清在线观看 | 国产精品青草久久久久福利99 | 波多野结衣第一页 | 亚洲三级免费观看 | 天天做天天爱天天影视综合 | 国产亚洲精品久久久久久午夜 | 国产美女一级高清免费观看 | 国产精品美女久久久久网站 |