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

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

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

基于A19lRM9200微處理器和單片機實現(xiàn)電機控制系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:電子設(shè)計工程 ? 作者:牟愛霞 ? 2021-03-28 09:20 ? 次閱讀

將先進(jìn)的計算技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個行業(yè)的具體應(yīng)用以及與Intemet技術(shù)相結(jié)合己經(jīng)成為未來嵌入式系統(tǒng)的發(fā)展趨勢。這里以A19lRM9200微處理器CPU,ATmegal28系列單片機,8 MB的Flash和32 MB的SDRAM存儲器,擴(kuò)展了以太網(wǎng)接口、串行接口等外圍通信設(shè)備以及輸入輸出接口,根據(jù)處理器和其他接口芯片的要求設(shè)計了外圍硬件電路及軟件。實現(xiàn)了用電機控制系統(tǒng)實時監(jiān)控多路電機的狀態(tài),并且可以控制任一路電機的轉(zhuǎn)速與相位,解決了單片機與ARM系列處理器之間的通信。

1 系統(tǒng)硬件設(shè)計

1.1 主機硬件系統(tǒng)結(jié)構(gòu)

主機硬件系統(tǒng)結(jié)構(gòu)如圖1所示。

基于A19lRM9200微處理器和單片機實現(xiàn)電機控制系統(tǒng)的設(shè)計

1)電源電路 AT9lRM9200需要1.8 V和3.3 V電源,另外,大部分外圍器件需要3.3 V電源,小部分外圍器件還需要5 V電源。此處選用了Sipex公司生產(chǎn)的SPXlll7M3-3.3型低壓差(LDO)穩(wěn)壓器和SPXlll7M3-1.8型低壓差(LDO)穩(wěn)壓器進(jìn)行DC-DC變換后為各個器件提供工作電壓。

2)晶振電路 如圖2所示,晶體振蕩電路用于向AT91RM9200和其他需要時鐘的外設(shè)電路提供工作時鐘。本系統(tǒng)使用無源晶體振蕩器X1(18. 432 MHz)和X2(32.768 kHz)作為系統(tǒng)的主振蕩器和慢時鐘振蕩器,其中32.768 kHz晶振為系統(tǒng)提供慢時鐘,18 MHz晶振通過倍頻為系統(tǒng)提供180 MHz的主機時鐘。

pIYBAGBf2umASmtiAAC1wua1C_s004.png

3)AT91RM9200處理器 ATglRM9200是Atmel公司基于ARM920T核的高性能、低功耗16/32位RISC微處理器,其最高主頻為180 MHz,其雙向、32位外部數(shù)據(jù)總線支持8、16、32位數(shù)據(jù)寬度,26位地址總線可以對最大64 MB空間尋址。是系統(tǒng)的工作和控制中心

4)存儲器 存儲器模塊包括Flash存儲器和SRAM存儲器2部分。Flash存儲器用于存放引導(dǎo)程序、嵌入式操作系統(tǒng)、用戶應(yīng)用程序及重要的數(shù)據(jù)等,即使掉電程序和數(shù)據(jù)都不會丟失。設(shè)計中采用Intel公司生產(chǎn)的28F640J3A,其存儲容量為64 Mb(8 MB),工作電壓為2.7~3.6 V,采用48引腳TSOP封裝,16位數(shù)據(jù)寬度。

SDRAM存儲器是系統(tǒng)代碼的運行場所,存放系統(tǒng)運行時的程序和數(shù)據(jù),但掉電后該部分程序和數(shù)據(jù)會丟失。設(shè)計中使用2片數(shù)據(jù)寬度為16位的SDRAM并行運行作為1個32位數(shù)據(jù)寬度的SDRAM模塊,如圖3所示。

o4YBAGBf2vCAXidLAAC9cMPLNN4308.png

使用的SDRAM電路為Hynix公司的HY57V651620BTC,其工作電壓為3.3 V,單片存儲容量為4組x16 Mb,54引腳TSOP封裝,兼容LVTTL電平接口,支持自動刷新和自刷新。

5)網(wǎng)絡(luò)端口 采用DAVICOM公司的DM9161作為以太網(wǎng)的物理層接口。通過這個接口可以控制和配置很多物理層設(shè)備,得到狀態(tài)和錯誤信息,并且確定PHY設(shè)備的工作方式和功能。將DM9161的REF_CLK端接至50 MHz晶振的輸出端;DM9161的TXD1,TXD2,TXEN,RXD1,BXD2端接至AT9lRM9200的ETXO,ETXI,ETXEN,ERXO,ERXI;DM9161的EXESEN,COL,PWRDWN端分別通過10 kΩ電阻接高電平,BGRESG,BGRES之間接6.8 kΩ電阻;將DM9161的RXEXDV,RXER,RESET,MDC,MDIO端接至AT9lRM9200的ECRS,ERXER,NRST,EMDIO均連接發(fā)光二極管,DM9161的TX+,TX-,RX+,EMDC,F(xiàn)DX,SPEED,LINKRX連接網(wǎng)絡(luò)隔離變壓器。

6)串行接口 用于AT9lRM9200系統(tǒng)短距離雙向串行通信。使用的電平轉(zhuǎn)換電路為Sipex公司雙產(chǎn)的SP3232E。本系統(tǒng)包含1個UART接口,它是兩線調(diào)試串口,用來連接到超級終端觀察AT91RM9200的啟動,完成與PC的通信調(diào)試。其原理圖如圖4所示。

1.2 從機硬件設(shè)計

1)ATmega128單片機 ATMEL公司的AVR單片機是增強型RISC內(nèi)載Flash的單片機,128 K字節(jié)的系統(tǒng)內(nèi)可編程Flash(在寫入過程中還具有讀取能力,即RWW)、4 K字節(jié)的EEPROM、4 K字節(jié)的SRAM、53個通用I/O口線、32個通用工作寄存器、實時時鐘RTC、4個靈活的具有比較模式和PWM功能的定時器/計數(shù)器(T/C)、2個USART、面向字節(jié)的兩線接口TWI、8通道10位ADC(具有可選的可編程增益)、具有片內(nèi)振蕩器的可編程看門狗定時器、SPI串行端口、與IEEEll49.1規(guī)范兼容的JTAG測試接口,以及6種可以通過軟件選擇的省電模式。

2)系統(tǒng)控制和復(fù)位 復(fù)位時所有的I/O寄存器都被設(shè)置為初始值,程序從復(fù)位向量處開始執(zhí)行。復(fù)位向量處的指令必須是絕對跳轉(zhuǎn)JMP指令,以使程序跳轉(zhuǎn)到復(fù)位處理例程。如果程序永遠(yuǎn)不會使能中斷,則中斷向量可以由一般的程序代碼所覆蓋。

圖5為復(fù)位邏輯的電路圖。復(fù)位源生效時I/O端口立即復(fù)位為初始值,不需要任何時鐘的輔助。當(dāng)所有的復(fù)位信號消失之后,延遲計數(shù)器被激活,從而延長了內(nèi)部復(fù)位,并使得在MCU正常工作之前電源達(dá)到穩(wěn)定的電平。延遲計數(shù)器的溢出時間通過熔絲位CKSEL由用戶設(shè)定。

3)I/O端口 作為通用數(shù)字I/O使用時,所有AVRI/O端口都具有真正的讀-修改-寫功能。輸出緩沖器具有對稱的驅(qū)動能力,可以輸出或吸收大電流,直接驅(qū)動LED。

4)SPI串行外設(shè)接口 串行外設(shè)接口SPI允許ATmegal28和外設(shè)之間進(jìn)行高速的同步數(shù)據(jù)傳輸。主機和從機之間的SPI連接如圖6所示。

pIYBAGBf2wuAfSwQAABkvHliP_E685.png

5)16位定時器/計時器 16位的T/C可以實現(xiàn)精確的程序定時、波形產(chǎn)生和信號測量。T/Cl、T/C3的普通模式、CTC模式、快速PWM模式、相位修正PWM模式與T/C0、T/C2相同。

2 系統(tǒng)軟件設(shè)計

嵌入式電機控制系統(tǒng)在軟件設(shè)計上分為主機軟件設(shè)計與從機軟件設(shè)計。主機軟件設(shè)計主要分為主機的SPI驅(qū)動程序和主機通信程序。

從程序結(jié)構(gòu)角度而言,設(shè)備驅(qū)動程序是一組由內(nèi)核中的相關(guān)子例程和數(shù)據(jù)組成的I/O設(shè)備軟件接口,它的任務(wù)就是向系統(tǒng)提供接口函數(shù)。因此每種文件系統(tǒng)或設(shè)備都有自己的接口函數(shù),這個函數(shù)就是一個fileoperations數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)中的成份幾乎全是函數(shù)指針。當(dāng)內(nèi)核需要對某個設(shè)備進(jìn)行特殊的操作時,它就調(diào)用相應(yīng)的接口函數(shù)即驅(qū)動例程。這就使得控制從用戶進(jìn)程轉(zhuǎn)移到了驅(qū)動例程,當(dāng)驅(qū)動例程完成控制又返回至用戶進(jìn)程。用戶態(tài)的程序使用內(nèi)核提供的標(biāo)準(zhǔn)系統(tǒng)調(diào)用來與內(nèi)核通訊,當(dāng)每個系統(tǒng)調(diào)用被使用時,內(nèi)核就轉(zhuǎn)到相應(yīng)的設(shè)備驅(qū)動例程來操縱。

調(diào)用基本接口函數(shù)都需要驅(qū)動程序的fileoperations結(jié)構(gòu)成員指向open(),read(),write(),release()等函數(shù),實現(xiàn)了xxx_fops結(jié)構(gòu)體內(nèi)的各個入口點函數(shù)后,編寫設(shè)備驅(qū)動程序初始化函數(shù),并在內(nèi)核啟動時注冊此函數(shù),完成硬件設(shè)備的初始化設(shè)置。初始化程序片斷如下:

voidinitexxxdevice(viod){

/檢查硬件設(shè)備是否存在,如果存在進(jìn)行硬件設(shè)備內(nèi)部寄存器初始化

if(result=registerchrdev(254,“xxxdevice”,&xxxefops))

printk(“Error:%dinitxxx_device()can‘tgetMajorln”,result);

}

設(shè)備初始化函數(shù)中調(diào)用函數(shù)registerchrdev()來完成注冊字符,函數(shù)形式如下:

intregisterchrdev(unsignedintmajor,constchar*name,structfileoperations*fop);

fops是指向?qū)崿F(xiàn)的fileoperations結(jié)構(gòu)體的操作指針。根據(jù)這些參數(shù),采用如下命令,在/dev下創(chuàng)建該設(shè)備文件名。

mknod/dev/xxxdevicec2540。

主機通信程序流程如圖7所示。MEGAl28從機程序的流程圖如圖8所示。

o4YBAGBf2s-AWD_FAACwYSetuHA561.png

pIYBAGBf2taAKN9LAACNvabIdQw447.png

3 結(jié)束語

該系統(tǒng)設(shè)計是對嵌入式技術(shù)與理論的拓展和應(yīng)用,是對NETCON網(wǎng)絡(luò)化控制系統(tǒng)的升級與改進(jìn),實現(xiàn)了對電機控制系統(tǒng)實時監(jiān)控多路電機的狀態(tài),并且可以控制任一路電機的轉(zhuǎn)速與相位。實現(xiàn)了單片機與ARM系列處理器之間的通信,解決了利用ARM處理器實現(xiàn)電機控制CPU工作效率低的問題。該方案經(jīng)過測試應(yīng)用效果良好,大大提高了CPU的工作效率。但電機的測速精度還有待進(jìn)一步提高,PWM調(diào)速范圍有待進(jìn)一步加大,還需進(jìn)一步優(yōu)化程序,提高整個系統(tǒng)的實時性。

責(zé)任編輯:gt

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

    關(guān)注

    68

    文章

    19371

    瀏覽量

    230420
  • 單片機
    +關(guān)注

    關(guān)注

    6039

    文章

    44588

    瀏覽量

    636758
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2271

    瀏覽量

    82597
收藏 人收藏

    評論

    相關(guān)推薦

    基于單片機的步進(jìn)電機控制系統(tǒng)相關(guān)資料分享

    以及性價比最優(yōu),根據(jù)控制系統(tǒng)功能要求及步進(jìn)電機應(yīng)用環(huán)境,確定了設(shè)計系統(tǒng)硬件和軟件的功能劃分,從而實現(xiàn)了基于8051單片機的四相步進(jìn)
    發(fā)表于 06-29 09:51

    微處理器、單片機的概述和對比

    每項新應(yīng)用設(shè)計都需要一個單片機微處理器。當(dāng)在兩者之間選擇其一時,需要考慮一些因素。以下是微處理器單片機的概述和對比??紤]選擇微處理器(M
    發(fā)表于 11-01 06:13

    微處理器單片機的概述和對比

    每項新應(yīng)用設(shè)計都需要一個單片機微處理器。當(dāng)在兩者之間選擇其一時,需要考慮一些因素。以下是微處理器、單片機的概述和對比??紤]選擇微處理器(M
    發(fā)表于 12-09 06:54

    基于單片機的步進(jìn)電機開環(huán)控制系統(tǒng)

    基于單片機的步進(jìn)電機開環(huán)控制系統(tǒng):通過ATMEL89C51單片機對步進(jìn)電機進(jìn)行控制,主要介紹了步
    發(fā)表于 08-25 18:27 ?102次下載

    基于單片機的直流電機控制系統(tǒng)在動態(tài)送風(fēng)裝置中的應(yīng)用

    摘 要 介紹一種基于單片機的動態(tài)送風(fēng)控制系統(tǒng)。該控制系統(tǒng)以C8051F330單片機處理器,配合控制
    發(fā)表于 07-21 22:41 ?46次下載

    基于單片機的步進(jìn)電機控制系統(tǒng)

    基于單片機的步進(jìn)電機控制系統(tǒng)
    發(fā)表于 05-25 14:03 ?39次下載

    基于單片機的步進(jìn)電機開環(huán)控制系統(tǒng)

    基于單片機的步進(jìn)電機開環(huán)控制系統(tǒng)基于單片機的步進(jìn)電機開環(huán)控制系統(tǒng)
    發(fā)表于 11-30 11:55 ?30次下載

    單片機、微控制器微處理器有何區(qū)別?

    芯片往往是個人計算機和高端工作站的核心CPU。最常見的微處理器是Motorola的68K系列和Intel的X86系列。早期的微控制器是將一個計算機集成到一個芯片中,實現(xiàn)嵌入式應(yīng)用,故稱單片機
    發(fā)表于 11-27 19:09 ?1次下載

    基于微處理器的嵌入式直流伺服電機控制系統(tǒng)

    的工作環(huán)境比較惡劣,為提高系統(tǒng)抗干擾能力,同時控制系統(tǒng)成本,采用PIC系列單片機作為系統(tǒng)核心處理器。與其它同檔次的
    發(fā)表于 12-06 09:09 ?11次下載
    基于<b class='flag-5'>微處理器</b>的嵌入式直流伺服<b class='flag-5'>電機</b><b class='flag-5'>控制系統(tǒng)</b>

    基于單片機與組態(tài)的智能電機控制系統(tǒng)

    實現(xiàn)半固態(tài)合金漿料制漿過程的自動控制和高穩(wěn)定性要求,設(shè)計了基于單片機與組態(tài)的智能上下電機控制系統(tǒng),克服了傳統(tǒng)單一
    發(fā)表于 01-30 15:01 ?3次下載
    基于<b class='flag-5'>單片機</b>與組態(tài)的智能<b class='flag-5'>電機</b><b class='flag-5'>控制系統(tǒng)</b>

    如何使用51單片機進(jìn)行步進(jìn)電機控制系統(tǒng)的設(shè)計與實現(xiàn)

    結(jié)合 51 單片機的特點,研究設(shè)計步進(jìn)電機控制系統(tǒng),以 51 單片機 AT89S52 為控制核心,選用 ULN2003
    發(fā)表于 05-10 08:00 ?16次下載
    如何使用51<b class='flag-5'>單片機</b>進(jìn)行步進(jìn)<b class='flag-5'>電機</b><b class='flag-5'>控制系統(tǒng)</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    微處理器MPU和單片機MCU的區(qū)別

    每項新應(yīng)用設(shè)計都需要一個單片機微處理器。當(dāng)在兩者之間選擇其一時,需要考慮一些因素。以下是微處理器、單片機的概述和對比。 考慮選擇微處理器
    的頭像 發(fā)表于 10-27 10:34 ?4801次閱讀

    微處理器MPU,還是單片機MCU?兩者區(qū)別詳解

    每項新應(yīng)用設(shè)計都需要一個單片機微處理器。當(dāng)在兩者之間選擇其一時,需要考慮一些因素。以下是微處理器單片機的概述和對比??紤]選擇微處理器(M
    發(fā)表于 10-27 12:06 ?4次下載
    選<b class='flag-5'>微處理器</b>MPU,還是<b class='flag-5'>單片機</b>MCU?兩者區(qū)別詳解

    微處理器MPU,還是單片機MCU?

    每項新應(yīng)用設(shè)計都需要一個單片機微處理器。當(dāng)在兩者之間選擇其一時,需要考慮一些因素。以下是微處理器單片機的概述和對比。考慮選擇微處理器(M
    發(fā)表于 11-26 18:51 ?17次下載
    選<b class='flag-5'>微處理器</b>MPU,還是<b class='flag-5'>單片機</b>MCU?

    基于單片機的步進(jìn)電機控制系統(tǒng)設(shè)計與實現(xiàn)

    電機控制系統(tǒng), 根據(jù)輸出信號的不同可以控制步進(jìn)電機的轉(zhuǎn)動狀態(tài),其中采用了28BYJ-48的步進(jìn)電機,以ULN2003為驅(qū)動 芯片,并通過
    發(fā)表于 03-21 14:52 ?0次下載
    基于<b class='flag-5'>單片機</b>的步進(jìn)<b class='flag-5'>電機</b><b class='flag-5'>控制系統(tǒng)</b>設(shè)計與<b class='flag-5'>實現(xiàn)</b>