色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MPC850中復(fù)位邏輯和CPM協(xié)議的CPLD實(shí)現(xiàn)

          MPC850中復(fù)位邏輯和CPM協(xié)議的CPLD實(shí)現(xiàn)

          作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
          1 引言

          近年來(lái),微處理器(MPU)在嵌入式系統(tǒng)研發(fā)中所占地位越來(lái)越重要,很多應(yīng)用場(chǎng)合對(duì)MPU的處理速度、集成密度也提出了更高的要求。Power PC系列MPU是Motorola公司推出的面向嵌入式應(yīng)用的專(zhuān)用MPU,它在片內(nèi)集成了基于RISC體系的微處理器的內(nèi)核和支持多種通信協(xié)議的通信處理器(CPM),具有強(qiáng)大的通信和網(wǎng)絡(luò)協(xié)議處理能力,可廣泛應(yīng)用于通信和網(wǎng)絡(luò)產(chǎn)品中。CPLD(Complex Programmable Logic Device)是一種復(fù)雜的用戶可編程邏輯器件,和FPGA相比,由于采用連續(xù)連接結(jié)構(gòu),易于預(yù)測(cè)延時(shí),從而使電路仿真更加準(zhǔn)確。近年來(lái),由于采用先進(jìn)的集成工藝和大批量生產(chǎn),CPLD器件成本不斷下降,集成密度、速度和性能大幅度提高,一個(gè)芯片就可以實(shí)現(xiàn)一個(gè)復(fù)雜的數(shù)字電路系統(tǒng),再加上使用權(quán)方便的開(kāi)發(fā)工具,因此使用權(quán)CPLD器件可以極大地縮短產(chǎn)品開(kāi)發(fā)周期,給設(shè)計(jì)修改帶來(lái)很大方便。

          嵌入式系統(tǒng)常用MPU和CPLD聯(lián)合設(shè)計(jì)?,F(xiàn)以PowerPC系列MPC850和Xilinx公司的XC95144XL為例來(lái)介紹實(shí)現(xiàn)MPU功能的CPLD輔助設(shè)計(jì)方法。實(shí)際上,MPC850的外部復(fù)位和通信模塊(CPM)的設(shè)計(jì)在整個(gè)系統(tǒng)設(shè)計(jì)中占用重要地位,也是調(diào)試硬件中最容易出問(wèn)題的環(huán)節(jié)。本文將對(duì)MPC850的外部復(fù)位邏輯和通信模塊的復(fù)用作一探討,并給出了這兩部分的CPLD邏輯實(shí)現(xiàn)方法。

          2 MPC850的復(fù)位邏輯和CPLD實(shí)現(xiàn)

          2.1 復(fù)位邏輯

          MPC850內(nèi)部的復(fù)位時(shí)鐘具有復(fù)位控制邏輯,以及決定復(fù)位起因、同步和相應(yīng)復(fù)位的邏輯模塊。概括起來(lái),MPC850總共具有以下復(fù)位源:

          *上電復(fù)位;
          *外部硬復(fù)位;
          *內(nèi)部硬復(fù)位:包括失鎖、軟件看門(mén)狗復(fù)位、校驗(yàn)停復(fù)位、調(diào)試口硬復(fù)位;
          *JTAG復(fù)位;
          *外部軟復(fù)位;
          *內(nèi)部軟件復(fù)位:指調(diào)試口軟復(fù)位。

          設(shè)計(jì)中需要用戶參與的主要是上復(fù)位和外部硬復(fù)位。其中上電復(fù)位的復(fù)位過(guò)程如下:

          (1) 產(chǎn)生上電復(fù)位信號(hào)PORESET
          (2) PORESET有效,CPU配置SCCR寄存器,PORESET保持時(shí)間至少在3μs以上。
          (3) PORESET無(wú)效后,CPU采用MODCK(時(shí)鐘模式配置)并鎖存,同時(shí)初始化時(shí)鐘。
          (4) CPU驅(qū)動(dòng)HRESET和SRESET信號(hào)512個(gè)時(shí)鐘周期,512周期結(jié)束后,如果RSCONF信號(hào)接低,則CPU從數(shù)據(jù)總線上采樣配置數(shù)據(jù),并將內(nèi)部產(chǎn)生 的HRESET和SRESET信號(hào)置為無(wú)效;如果RSCONF信號(hào)接高,則CPU按內(nèi)部缺省值進(jìn)行配置。
          (5) 計(jì)數(shù)器計(jì)數(shù)16個(gè)時(shí)鐘周期,然后采樣外部硬復(fù)位信號(hào)和外部軟復(fù)位信號(hào),如果存在職效的外部硬復(fù)位信號(hào)或軟復(fù)位信號(hào),則計(jì)數(shù)器清0,并重新計(jì)數(shù),否則跳出,執(zhí)行正常操作。

          系統(tǒng)中硬件復(fù)位主要用于在CPU感知外部硬復(fù)位信號(hào)有效后,產(chǎn)生內(nèi)部硬復(fù)位信號(hào),然后按照上述上電復(fù)位步驟從第4步開(kāi)始執(zhí)行。其時(shí)序圖如圖1所示。

          可見(jiàn),相比一些常用的MPU器件,MPC850的復(fù)位邏輯比較復(fù)雜,而且對(duì)復(fù)位控制的時(shí)序有嚴(yán)格的要求。通常的設(shè)計(jì)需要較多的外部器件來(lái)實(shí)現(xiàn)邏輯控制,而采用一片CPLD則只需編寫(xiě)簡(jiǎn)單的代碼就可以了,且易于調(diào)度。本應(yīng)用于設(shè)計(jì)采用Xilinx公司的XC95144XL進(jìn)行邏輯設(shè)計(jì)。

          2.2 基于CPLD的實(shí)現(xiàn)方法。

          設(shè)計(jì)時(shí),將MPC850的復(fù)位信號(hào)(上電復(fù)位poreset、硬復(fù)位hreset、軟復(fù)位sreset)連接到XC95144XL的連接方法如圖2所示。
          該方案中CPLD的上電復(fù)位設(shè)計(jì)過(guò)程如下:

          (1) 系統(tǒng)上電后,上電復(fù)位poreset由XC95144XL產(chǎn)生,為了使MPC850得到可靠的復(fù)位,這個(gè)延遲時(shí)間通常比要求的3μs要大一些。MODCK配置可一直固定。

          (2) poreset 信號(hào)無(wú)效后(為高電平),MPC850會(huì)采樣MODCK并驅(qū)動(dòng)HRESET信號(hào)512個(gè)時(shí)鐘周期。需要注意的是這個(gè)時(shí)間由MPC850控制的,CPLD不作邏輯實(shí)現(xiàn)。然后MPC850開(kāi)始采樣總線上的32bit配置數(shù)據(jù)。這時(shí)不能馬上驅(qū)動(dòng)總線數(shù)據(jù)線,應(yīng)延遲若干時(shí)鐘周期后驅(qū)動(dòng),經(jīng)應(yīng)用證明延遲8個(gè)時(shí)鐘周期以上可以滿足要求。

          (3) 驅(qū)動(dòng)總線配置數(shù)據(jù)16個(gè)時(shí)鐘周期后把總線置為高阻態(tài),上電復(fù)位結(jié)束。

          手動(dòng)復(fù)位的邏輯實(shí)現(xiàn)主要考慮的是對(duì)按鍵的復(fù)位作抗抖動(dòng)處理,以防止多次短暫接觸對(duì)系統(tǒng)造成反復(fù)復(fù)位,可以在代碼中加入一個(gè)RS觸發(fā)順來(lái)實(shí)現(xiàn)抗抖。

          本設(shè)計(jì)采用VHDL語(yǔ)言實(shí)現(xiàn),限于篇幅代碼省略。需要注意的是:在總線數(shù)據(jù)配置時(shí),不能采用順序執(zhí)行語(yǔ)句,而只有應(yīng)用并發(fā)語(yǔ)句執(zhí)行才能得到正確的配置。如:

          d <="ZZZZZZZZZZZZZZZZ"when flag=true else"0000011010100010";
          --512個(gè)時(shí)鐘周期后,再等待8個(gè)時(shí)鐘周期將初始配置字推至數(shù)據(jù)線
          --采用條件代入語(yǔ)句的并發(fā)描述
          而如果采用順序描述語(yǔ)句:
          if flag =true then
          d <="ZZZZZZZZZZZZZZZZ "
          else
          d <="0000011010100010";
          則配置字將得不到正確讀取。這一點(diǎn)需要特別注意。

          3 MPC850通信的CPLD實(shí)現(xiàn)

          3.1 MPC850 CPM的應(yīng)用

          MPC850的CPM模塊支持7個(gè)串行通道,其中包括:2個(gè)串行管理控制器SMC(支持通用異步收發(fā)UART、透明模式和通用電路接口)、2個(gè)串行通信控制器SCC(支持Ethernet、ATM、HDLC和其它多種通信協(xié)議)、1個(gè)USB信道、1個(gè)I2C端口和1個(gè)串行外圍接口SPI。

          在實(shí)際應(yīng)用中,可通過(guò)設(shè)置模式寄存器的相關(guān)控制位來(lái)決定各個(gè)通道應(yīng)該采用的協(xié)議。各信道的接口通過(guò)MPC850的并行I/O口PA、PB和PC與外設(shè)進(jìn)行連接,這些I/O口對(duì)應(yīng)的協(xié)議需要對(duì)端口的引腳配置寄存器(pin assignment register)和數(shù)據(jù)方向寄存器(data direction register)進(jìn)行配置,但由于端口數(shù)量的限制,所有的通信協(xié)議不可能被同時(shí)支持,因此受I/O口限制,若干協(xié)議不能同時(shí)被使用。故此,在使用這些I/O口,就存在復(fù)用和互斥的問(wèn)題。表1給出了各I/O口和通信協(xié)議的對(duì)應(yīng)關(guān)系。

          表1 MPC850端口復(fù)用一覽表
          復(fù)用I/O 協(xié)議1(括號(hào)內(nèi)對(duì)應(yīng)該協(xié)議的功能引腳) 協(xié)議2 協(xié)議3
          PA8 串口2(SMRXD2) RS485(SMRXD2) ISDN(L1TXDA)
          PA9 串口2(SMTXD2) RS485(SMTXD2) ISDN(L1RXDA)
          PA7 以太網(wǎng)2(RCLK1) ISDN(L1RCLKA)  
          PA5 以太網(wǎng)2(TCLK3) HDLC(CLK3) ISDN(L1TCLKA)
          PB30 以太網(wǎng)2(TXD3) SPI(CLK) HDLC(TXD3)
          PB29 以太網(wǎng)2(RXD3) SPI(OSI) HDLC(RXD3)
          PB27 I2C(SDA) ATM(PHYCS)  
          PB26 I2C(SCL) ATM(RST)  
          PC13 以太網(wǎng)2(RTS3) TDMA(L1ST7) ATM(PHYRD)
          PC11 USB(RXP) ATM(PHYAD7)  
          PC10 USB(RXN) ATM(PHYAD3)  
          PC7 USB(TXP) ATM(PHYAD2)  
          PC6 USB(TXN) ATM(PHYAD6)  
          PC5 以太網(wǎng)2(COL3) ISDN(L1TSNCA) HDLC(CTS3)
          PC4 以太網(wǎng)2(CD3) ISDN(L1RSNCA) HDLC(CD3)

          3.2 復(fù)用邏輯的CPLD實(shí)現(xiàn)

          將MPC850需要復(fù)用的I/O端口全部連接到XC95144XL的可編程I/O口,然后將外部連接的各通信端口(RS232、以太網(wǎng)1、以太網(wǎng)2等)也連接到XC95144XL的可編程I/O口。這樣,當(dāng)MPC850需要切換到某個(gè)外部端口時(shí),除設(shè)置內(nèi)部相關(guān)寄存器外,通過(guò)數(shù)據(jù)和地址線控制XC95144XL內(nèi)部的復(fù)位控制寄存器就可以完成I/O口的切換。余下的工作就是了解復(fù)用控制寄存器的結(jié)構(gòu)和CPLD的讀寫(xiě)時(shí)序。這樣,通過(guò)對(duì)各位的設(shè)置就能開(kāi)關(guān)相應(yīng)I/O口。圖3和圖4分別是CPLD的讀寫(xiě)時(shí)序和復(fù)用控制寄存器的位定義結(jié)構(gòu)圖。

          4 總結(jié)

          本文介紹了MPU和CPLD在嵌入式設(shè)計(jì)中的綜合應(yīng)用方法,同時(shí)提供了一種簡(jiǎn)單的實(shí)現(xiàn)方案,隨著VLSI集成度和功能的不斷增強(qiáng),MPU和CPLD的結(jié)合應(yīng)用遠(yuǎn)不止文中提到的這些。隨著先進(jìn)集成工藝和大批量生產(chǎn)的出現(xiàn),CPLD器件的成本也不斷下降,其集成密度、速度和性能也將大幅提高。另外,其CPLD器件的設(shè)計(jì)靈活性也使得它能夠完成許多更多復(fù)雜的在片設(shè)計(jì),從而極大地?cái)U(kuò)展了MPU的功能,增強(qiáng)了系統(tǒng)的易裁減特性,而這切都無(wú)穎將充分提升設(shè)計(jì)人員的創(chuàng)造空間。


          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉