RM新时代网站-首页

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

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

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

采用ARM EP9315處理器實(shí)現(xiàn)P0104總線的應(yīng)用方案

電子設(shè)計(jì) ? 來源:微計(jì)算機(jī)信息 ? 作者:高偉,何方,李鎖 ? 2021-03-22 09:22 ? 次閱讀

前言

目前的ARM處理器已經(jīng)適合應(yīng)用于數(shù)控系統(tǒng)。ARM處理器的成本低而且種類多。主頻能夠滿足數(shù)控領(lǐng)域需求而且功耗比較低,無需使用風(fēng)扇,提高了系統(tǒng)的可靠性。帶有MMU的ARM處理器支持?jǐn)?shù)控軟件所需要的Linux操作系統(tǒng),能夠充分利用現(xiàn)有的數(shù)控軟件資源。隨著ARM處理器和FPGA的快速發(fā)展.給數(shù)控系統(tǒng)的設(shè)計(jì)提供了新的解決方案。ARM處理器用作系統(tǒng)的核心,可編程FPGA器件作為運(yùn)動控制器。同時FPGA器件提供數(shù)控系統(tǒng)I/O等其它輔助電路。

隨著PC/104成為工業(yè)控制領(lǐng)域的標(biāo)準(zhǔn),已經(jīng)被IEEE協(xié)會定義為IEEE-P996.1,PC/104總線提供的信號跟ISA總線一樣,但是前者的機(jī)械規(guī)格不僅易于擴(kuò)充而且更加堅(jiān)同,適合應(yīng)用于數(shù)控系統(tǒng)。但是這種總線結(jié)構(gòu)是在Intel的x86體系結(jié)構(gòu)上發(fā)展而來,目前x86對PC/104的支持比較好,而ARM對PC/104的支持還不完全統(tǒng)一,主要由于ARM和x86在體系結(jié)構(gòu)、總線時序、電氣特性以及指令集等方面的差異。而且不同的數(shù)控系統(tǒng)所需要的總線信號也不完全一樣。本文將提出一種基于ARM處理器的數(shù)控系統(tǒng)上支持P0104總線的方案。

1 系統(tǒng)總體設(shè)計(jì)

數(shù)控系統(tǒng)中的ARM處理器采用Cirrus Logic的EP9315處理器,用EP9315的一個片選(nGCS3_PHBASE 0X30000000)作為PC104的地址范圍,用地址ADDR24來控制MEMORY和10的方式的讀寫;用另一個片選(nGCS1_PHBASE 0X10000000)來查詢PC104的中斷號,當(dāng)PC104有中斷的時候,用一個中斷通知CPU,然后CPU通過nGCS1這個地址來讀中斷號,判斷出11個PCIl04中斷源中來自哪個中斷。由于EP9315和CPLD在制作工藝、電氣性能上與PC/104總線有比較大的差別.因此需要使用74LVTH16245作為3.3-5V電氣轉(zhuǎn)換buffer用來調(diào)整電平模式。CPLD是基于乘積項(xiàng)的可編程邏輯器件.CPLD內(nèi)部采用固定長度線連接各個邏輯塊,因此具有較大的時間可預(yù)測性,引腳到引腳的延遲幾乎是固定的,與邏輯設(shè)計(jì)無關(guān),因此適合作為PC/104總線控制器。這里使用Altera的EPM7032用作PC/104總線控制器,用來完成EP9315讀寫時序向PC/104總線讀寫時序的轉(zhuǎn)換。EP9315的數(shù)據(jù)總線和地址總線連到電平轉(zhuǎn)換buffer,輸出到PC/104總線上。因此PC/104總線設(shè)計(jì)的核心是保證EPM7032有正確的讀寫時序。原理圖如圖1所示:

采用ARM EP9315處理器實(shí)現(xiàn)P0104總線的應(yīng)用方案

圖1 原理框圖

2 PC/104總線控制器的實(shí)現(xiàn)

PC/104 總線介紹

PC/104采用模塊化設(shè)計(jì)方法.通過自堆疊總線,省去了對底板或板卡插槽的要求。通過將多數(shù)信號的總線驅(qū)動電流減小至4mA.將元件數(shù)量和功耗降到最低。模塊的104個信號線分布在兩個總線連接器上,P1連接器有64個信號引腳,P2連接器有40個信號引腳。與ISA總線相比,PC/104總線將板卡的長寬比降至3.775英寸比3.550英寸(即96mm比90mm),克服了ISA總線機(jī)械規(guī)格的缺點(diǎn)。PC/104總線與PC/AT總線兼容,也定義了兩種工作模式一8位和16位數(shù)據(jù)模式。對于8位數(shù)據(jù)模式,總線信號由板上的64引腳雙排插座P1/J1提供,對于16位模式,增加了40引腳雙排插座P2/J2。

ARM EP9315處理器介紹

EP9315處理器是Cirrus Logic推出的一款基于ARM920T內(nèi)核的RISC處理器,主要面向工業(yè)計(jì)算機(jī)和手持設(shè)備等等。ARM920T是Harvard體系結(jié)構(gòu)處理器,由ARM920TDMI、存儲管理單元(MMU)和高速緩存3部分組成。有獨(dú)立的16位指令cache和數(shù)據(jù)cache。ARM920T有5級流水線。EP9315工作頻率為200M Hz,集成了2D圖形加速器和協(xié)處理器,以及豐富的外設(shè)接口例如IDE控制器和PCMCLA控制器等,即使不使用額外的DSP芯片也能夠支持相當(dāng)多的外設(shè)。EP9315支持Linux。Microsofi Windows CE等操作系統(tǒng)。

PC/104總線控制器的設(shè)計(jì)

控制器的CPLD設(shè)計(jì)采用Altera公司的EPM7032.屬于MAX7000可編程器件系列。MAX7000系列是高密度、高性能的CPLD,采用了Altera的第二代MAX架構(gòu),采用浮柵EEPROM設(shè)計(jì)。結(jié)構(gòu)如圖2所示:

圖2 EPM7032的結(jié)構(gòu)

結(jié)構(gòu)中包括邏輯陣列模塊(LAB)組成的陣列、可編程互連陣列口(PLA)和可編程I/O模塊陣列。每個LAB包括36個輸入端、16個輸出端和16個宏單元,每個宏單元包括處理組合和時序運(yùn)算的組合邏輯和觸發(fā)器。PIA作為全局總線提供了多重LAB、專用輸入端和I/O引腳之間的連接。PIA為邏輯單元的輸出和LAB的輸入提供了包括預(yù)計(jì)定時的完整連接。器件可以工作在3.3v。pin—to—pin的延遲tPD=6ms,工作頻率可達(dá)151.5MHz,能夠與EP9315的AMBA總線時鐘頻率相匹配。EPM7032支持多種設(shè)計(jì)輸入,除原理圖外還可以通過VHDL Veriiog HDL和Altera Hardware Description Language (AHDL)。Verilog HDL語言是一種硬件描述語言,能形式化地抽象描述電路的結(jié)構(gòu)和行為,支持邏輯設(shè)計(jì)中層次與領(lǐng)域的描述,具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性,用于算法級、門級和開關(guān)級的建模。開發(fā)環(huán)境使用Altera的MAX+Plus。

總線控制器的實(shí)現(xiàn)與仿真

在PC/104總線內(nèi)部,用一個信號INT1查詢相關(guān)的中斷信號,使用片選信號CS3和地址信號LADDR24和讀寫信號WR、RD選擇MEM或者10的讀寫方式。相關(guān)代碼如下:

assign INT1=(IRQ[3] || IRQ[4] || RQ[5] || IRQ[6] || IRQ[7] || IRQ[9] || IRQ[10] || IRQ[11] || IRQ[12] || IRQ[14] || IRQ[15]);

assign MEMW=(CS3 || WR || LADDR24);

assign MEMR=(CS3 || RD || LADDR24);

assign IOW=(CS3 || WR) || (~LADDR24);

assign IOR=(CS3 || RD) || (~LADDR24);

使用MAX+Plus部分仿真結(jié)果如圖3所示。從波形上可以看出INTI能夠檢測出中斷產(chǎn)生,能夠檢測到MEM和I/O讀寫請求。總線控制器把這些信號輸入到ARM處理器,完成對PC/109總線讀寫的控制。

圖3 讀寫時序仿真波形

3 Linux下的PC/104總線驅(qū)動程序的設(shè)計(jì)

在Linux中,由于有設(shè)備文件,所以才能使得用戶非常方便的訪問外部設(shè)備,Linux系統(tǒng)為外部設(shè)備提供一種標(biāo)準(zhǔn)接口,將外部設(shè)備視為一種特殊文件,可以像訪問文件一樣訪問一個外部設(shè)備。Linux通常將設(shè)備分為i種基本類型:字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。在基于ARM處理器的數(shù)控系統(tǒng)中把PC/104總線看作塊設(shè)備。下面是PC/104代碼的說明:

nGCS1_VBASE=ioremap((nGCS1_PHBASE).2);

nGCS3_VBASE=ioremap((nGCS3_PHBASE+BaseAddr+LADDR24),256);

config=inl(SMCBCR1);

config &=0xcfffffff; //set nGCSI 8-BIT

outl(config,SMCBCR1);

config=inl(SMCBCR1);

config=inl(SMCBCR3);

config &=0xcfffffff; //set nGCS3 8-BIT

eonfig 1=0x0000fbe0;

outl(config,SMCBCR3);

config=inI(SMCBCR3);

兩部分比較主要一部分是初始化SMCBCR1和SMCBCR3。另一部分是:一個是PC/104的基地址,另一個是讀PC/104中斷的基地址。這兩個要在初始化時就要給定:

nGCS1_VBASE=ioremap((nGCS_PHBASE),2);

nGCS3_VBASE=ioremap((nGCS3_PHBASE+BaseAddr+LADDR24),256);

其中uGCS1_VBASE為讀中數(shù)的nGCS3_VBASE為PC/104MEM的基地址。用操作系統(tǒng)擔(dān)供的函數(shù)outl、inl可操作寄存器。

4 結(jié)語

本文創(chuàng)新點(diǎn):提出一種基于ARM EP9315處理器的數(shù)控系統(tǒng)上支持PC/104總線的方案.主要描述了ARM數(shù)控系統(tǒng)中的PC/104總線控制器的設(shè)計(jì)與實(shí)現(xiàn),使用CPLD和Verilog HDL語言。實(shí)現(xiàn)了EP9315對PC/104總線讀寫信號的控制和中斷處理。完成了Linux下的PC/104總線控制器的驅(qū)動程序.提供了基于ARM處理器的數(shù)控系統(tǒng)的PC/104總線解決方法.彌補(bǔ)了ARM處理器對于PC/104總線的支持不足缺點(diǎn),使得ARM處理器能夠更廣泛的應(yīng)用于數(shù)控領(lǐng)域。

責(zé)任編輯:gt

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

    關(guān)注

    68

    文章

    19259

    瀏覽量

    229651
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9084

    瀏覽量

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

    關(guān)注

    10

    文章

    2878

    瀏覽量

    88051
收藏 人收藏

    評論

    相關(guān)推薦

    ARM Cortex-A9處理器

    類別:嵌入式系統(tǒng)處理器知識產(chǎn)權(quán)許可商ARMHoldingsplc已經(jīng)成功開發(fā)出雙內(nèi)核Cortex-A9處理器設(shè)計(jì)(被稱為Osprey)的兩個實(shí)現(xiàn)。Cortex-A9處理器能與其他Cor
    發(fā)表于 09-06 09:27

    怎么實(shí)現(xiàn)基于ARM7處理器LPC2119的USB-CAN轉(zhuǎn)換設(shè)計(jì)?

    本文講述了一種基于ARM7處理器實(shí)現(xiàn)USB接口與CAN總線的實(shí)例,通過其可以在PC實(shí)現(xiàn)對CAN總線
    發(fā)表于 05-21 06:58

    基于EP9315實(shí)現(xiàn)了一個基本的NAS系統(tǒng)

    用戶設(shè)置,是否可寫操作等。本項(xiàng)目基于EP9315實(shí)現(xiàn)了一個基本的NAS系統(tǒng),加以完善就可以作為中小型用戶的存儲系統(tǒng)方案。通過本項(xiàng)目,便于開發(fā)者對ARM9微
    發(fā)表于 10-27 06:30

    基于arm Cortex-M3處理器與深度學(xué)習(xí)加速的實(shí)時人臉口罩檢測SoC設(shè)計(jì)方案

    1、基于arm Cortex-M3處理器與深度學(xué)習(xí)加速的實(shí)時人臉口罩檢測 SoC本項(xiàng)目采用arm公司提供的DesignStartEval版
    發(fā)表于 08-26 15:23

    ARM Cortex-M4處理器技術(shù)參考手冊

    Cortex-M4處理器包含處理器核心、嵌套矢量中斷控制(NVIC)、高性能總線接口、低成本調(diào)試解決方案和可選的浮點(diǎn)單元(FPU)。 Co
    發(fā)表于 08-08 07:18

    Arm Cortex-R82處理器技術(shù)參考手冊

    Cortex?-R82處理器是一款中等性能的多核有序超標(biāo)量處理器,適用于實(shí)時嵌入式應(yīng)用。 Cortex?-R82處理器采用ARM?V8-R
    發(fā)表于 08-17 07:45

    基于ARM的PC/104處理器模塊設(shè)計(jì)

    提出了一種低成本的PC/104處理器模塊的設(shè)計(jì)。該模塊硬件上以ARM處理器為核心實(shí)現(xiàn)了PC/104處理模塊的基本結(jié)構(gòu)、
    發(fā)表于 08-25 10:36 ?20次下載

    基于ARM數(shù)控系統(tǒng)的PC104總線設(shè)計(jì)

    根據(jù)基于ARM 處理器的數(shù)控系統(tǒng)的需要,通過對EP9315 開發(fā)板的研究與實(shí)驗(yàn),提出一種在ARM 數(shù)控系統(tǒng)上實(shí)現(xiàn)PC/104
    發(fā)表于 01-07 14:03 ?30次下載

    提高μCOS-II在EP9315上的執(zhí)行效率

     針對如何提高μC/OS-II在EP9315上的執(zhí)行效率問題,結(jié)合μC/OS-II和EP9315體系,分析了影響系統(tǒng)這一性能的主要因素,并提出了解決方案。利用Scatter-loading機(jī)制,重新定位可執(zhí)行映像
    發(fā)表于 12-16 15:33 ?25次下載

    ARM9處理器ARM7處理器比較

    摘要:ARM處理器是世界上最流行的嵌入式處理器,廣泛應(yīng)用于個人通信等嵌入式領(lǐng)域。ARM7處理器雖然功能強(qiáng)大,但是目前已經(jīng)開始退出主流應(yīng)用
    發(fā)表于 03-11 12:21 ?1355次閱讀
    <b class='flag-5'>ARM</b>9<b class='flag-5'>處理器</b>與<b class='flag-5'>ARM</b>7<b class='flag-5'>處理器</b>比較

    EP9315 ARM評估板開發(fā)板

    關(guān)鍵詞:9315開發(fā)板 ARM開發(fā)板 EP9315ARM芯片規(guī)格:嵌入式工業(yè)計(jì)算機(jī)結(jié)構(gòu),采用 Cirrus LOGIC EP9315
    發(fā)表于 12-16 15:25 ?959次閱讀

    采用EP9315芯片的的網(wǎng)絡(luò)存儲NAS系統(tǒng)設(shè)計(jì)

    附網(wǎng)絡(luò)存儲NAS是一種將分布、獨(dú)立的數(shù)據(jù)整合為大型、集中化管理的數(shù)據(jù)中心,以便對不同主機(jī)和應(yīng)用服務(wù)進(jìn)行訪問的技術(shù)[1]。本文提出一種以ARM9微處理器EP9315和嵌入式Linux操
    發(fā)表于 03-29 15:15 ?1210次閱讀
    <b class='flag-5'>采用</b><b class='flag-5'>EP9315</b>芯片的的網(wǎng)絡(luò)存儲NAS系統(tǒng)設(shè)計(jì)

    EP9315 ARM開發(fā)板資料

    本內(nèi)容詳細(xì)介紹了EP9315 ARM開發(fā)板的資料
    發(fā)表于 04-28 17:23 ?97次下載
    <b class='flag-5'>EP9315</b> <b class='flag-5'>ARM</b>開發(fā)板資料

    基于EP9315處理器和Linux系統(tǒng)實(shí)現(xiàn)PC/104總線控制的設(shè)計(jì)

    要的Linux操作系統(tǒng),能夠充分利用現(xiàn)有的數(shù)控軟件資源。隨著ARM處理器和FPGA的快速發(fā)展.給數(shù)控系統(tǒng)的設(shè)計(jì)提供了新的解決方案ARM處理器
    發(fā)表于 10-26 10:19 ?1396次閱讀
    基于<b class='flag-5'>EP9315</b><b class='flag-5'>處理器</b>和Linux系統(tǒng)<b class='flag-5'>實(shí)現(xiàn)</b>PC/104<b class='flag-5'>總線</b>控制<b class='flag-5'>器</b>的設(shè)計(jì)

    基于EP9315的嵌入式實(shí)驗(yàn)系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《基于EP9315的嵌入式實(shí)驗(yàn)系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 10-08 10:54 ?0次下載
    基于<b class='flag-5'>EP9315</b>的嵌入式實(shí)驗(yàn)系統(tǒng)
    RM新时代网站-首页