<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > MPC850中復位邏輯和CPM協(xié)議的CPLD實(shí)現

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

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

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

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

2 MPC850的復位邏輯和CPLD實(shí)現

2.1 復位邏輯

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.1 MPC850 CPM的應用

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

表1 MPC850端口復用一覽表
復用I/O 協(xié)議1(括號內對應該協(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 復用邏輯的CPLD實(shí)現

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

4 總結

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


評論


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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>