PowerPC簡介及程式設計

NO IMAGE

PowerPC簡介及程式設計

一,PowerPC晶片

   PowerPC是早期Motorola和IBM聯合為Apple的MAC機開發的CPU晶片,商標權同時屬於IBM和Motorola,併成為他們的主導成品.IBM主要的PowerPC產品有PowerPC604s(深藍內部的CPU), PowerPC750,PowerPCG3(1.1GHz).Motorola主要有MC和MPC系列.儘管他們產品不一樣,但都採用PowerPC的核心.這些產品大都用在嵌入式系統中.

Motorola公司網址      IBM公司網址

     相關文章參見 The PowerPC Triumph    PowerPC Today and Tomorrow    IBM Pushes to 2GHz

                  The PowerPC Initiative    The PowerPC Chip-Is It Future Of Electrinics ?

 

Motorola的MPC860簡介(摘錄)

  MPC860 PowerQUICC (Quad Integrated Communications Controller) 內部整合了微處理器和一些控制領域的常用外圍元件, 特別適用於通訊產品. 包括器件的適應性, 擴充套件能力和整合度等. MPC860 PowerQUICC整合了兩個處理塊. 一個處理塊是嵌入的PowerPC核, 另一個是通訊處理模組( CPM, Communications Processor Module), 通訊處理模組支援四個序列通訊控制器(SCC, Serial Communication Controller), 實際上它有八個序列通道: 四個SCC,兩個序列管理控制器 (SMC, Serial Management Channels), 一個序列外圍介面電路 ( SPI, Serial Peripheral Interface ) 和一個I2C( Inter-Integrated Circuit ) 介面. 由於CPM分擔了嵌入式PowerPC核的外圍工作任務, 這種雙處理器體系結構功耗要低於傳統的體系結構的處理器.

  • 單出口, 嵌入式PowerPC核32位元版本(與PowerPC結構定義完全相容)32×32位通用暫存器(GPRs, General Purpose Registers)

    • 4K資料Cache和4K指令Cache, 分別帶有一個MMU.

    • 儲存管理單元(MMU)32-輸入翻譯後備緩衝器 ( TLBs )

    • 32位資料,地址線

  • 儲存控制器(八個儲存體)

  • 單線儲存模組無逢介面,靜態隨即存取儲存器(RAM), EPROM, FLASH MEMORY或DRAM等。

  • DRAM 控制器可程式設計支援絕大多數不同大小和速度的儲存器

  • 不同碼組長度32K至256M

DRAM 控制器可程式設計支援絕大多數不同大小和速度的儲存器

不同碼組長度32K至256M

不同碼組長度32K至256M

四個16位定時器或兩個32位定時器.

系統整合單元 ( SIU, Sytstem Intergration Unit ) 主要包括:

軟體看門狗

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

復位控制器

JTAG 1149.1 測試口

JTAG 1149.1 測試口

中斷系統包括7根外部中斷請求線, 12個具有中斷能力的管腳, 16個內部中斷源. 中斷優先順序可程式設計

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

儲存控制器(八個儲存體)

單線儲存模組無逢介面,靜態隨即存取儲存器(RAM), EPROM, FLASH MEMORY或DRAM等。

DRAM 控制器可程式設計支援絕大多數不同大小和速度的儲存器

不同碼組長度32K至256M

DRAM 控制器可程式設計支援絕大多數不同大小和速度的儲存器

不同碼組長度32K至256M

不同碼組長度32K至256M

四個16位定時器或兩個32位定時器.

系統整合單元 ( SIU, Sytstem Intergration Unit ) 主要包括:

軟體看門狗

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

復位控制器

JTAG 1149.1 測試口

JTAG 1149.1 測試口

中斷系統包括7根外部中斷請求線, 12個具有中斷能力的管腳, 16個內部中斷源. 中斷優先順序可程式設計

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

四個16位定時器或兩個32位定時器.

系統整合單元 ( SIU, Sytstem Intergration Unit ) 主要包括:

軟體看門狗

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

復位控制器

JTAG 1149.1 測試口

JTAG 1149.1 測試口

中斷系統包括7根外部中斷請求線, 12個具有中斷能力的管腳, 16個內部中斷源. 中斷優先順序可程式設計

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

系統整合單元 ( SIU, Sytstem Intergration Unit ) 主要包括:

軟體看門狗

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

復位控制器

JTAG 1149.1 測試口

JTAG 1149.1 測試口

中斷系統包括7根外部中斷請求線, 12個具有中斷能力的管腳, 16個內部中斷源. 中斷優先順序可程式設計

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

中斷系統包括7根外部中斷請求線, 12個具有中斷能力的管腳, 16個內部中斷源. 中斷優先順序可程式設計

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

儲存控制器(八個儲存體)

單線儲存模組無逢介面,靜態隨即存取儲存器(RAM), EPROM, FLASH MEMORY或DRAM等。

DRAM 控制器可程式設計支援絕大多數不同大小和速度的儲存器

不同碼組長度32K至256M

DRAM 控制器可程式設計支援絕大多數不同大小和速度的儲存器

不同碼組長度32K至256M

不同碼組長度32K至256M

四個16位定時器或兩個32位定時器.

系統整合單元 ( SIU, Sytstem Intergration Unit ) 主要包括:

軟體看門狗

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

復位控制器

JTAG 1149.1 測試口

JTAG 1149.1 測試口

中斷系統包括7根外部中斷請求線, 12個具有中斷能力的管腳, 16個內部中斷源. 中斷優先順序可程式設計

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

單線儲存模組無逢介面,靜態隨即存取儲存器(RAM), EPROM, FLASH MEMORY或DRAM等。

DRAM 控制器可程式設計支援絕大多數不同大小和速度的儲存器

不同碼組長度32K至256M

DRAM 控制器可程式設計支援絕大多數不同大小和速度的儲存器

不同碼組長度32K至256M

不同碼組長度32K至256M

四個16位定時器或兩個32位定時器.

系統整合單元 ( SIU, Sytstem Intergration Unit ) 主要包括:

軟體看門狗

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

復位控制器

JTAG 1149.1 測試口

JTAG 1149.1 測試口

中斷系統包括7根外部中斷請求線, 12個具有中斷能力的管腳, 16個內部中斷源. 中斷優先順序可程式設計

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

系統整合單元 ( SIU, Sytstem Intergration Unit ) 主要包括:

軟體看門狗

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

復位控制器

JTAG 1149.1 測試口

JTAG 1149.1 測試口

中斷系統包括7根外部中斷請求線, 12個具有中斷能力的管腳, 16個內部中斷源. 中斷優先順序可程式設計

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

軟體看門狗

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

中斷定時器

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

PowerPC 時基和實時時鐘 (RTC, Real Time Clock )

復位控制器

JTAG 1149.1 測試口

JTAG 1149.1 測試口

中斷系統包括7根外部中斷請求線, 12個具有中斷能力的管腳, 16個內部中斷源. 中斷優先順序可程式設計

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

通訊處理器模組(CPM)主要包括:

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

RISC 控制器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

5 K位元組雙口RAM

16個序列DMA (SDMA) 通道

三個平行 I/O 暫存器

三個平行 I/O 暫存器

I/O 暫存器

四個波特率獨立的發生器, 可以連線到任意一個SCC和SMC, 並允許執行中改變. 支援自動波特率

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

四個序列通訊控制器 (SCC) ,支援乙太網, HDLC/SDLC, HDLC 匯流排(用以實現基於HDLC的區域網)、AppleTalk, 7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

7號信令系統, UART、BISYNC, 位元流透明傳輸, 基於幀的透明傳輸 (CRC可選), 支援PPP (Point to Point Protocol)的非同步HDLC等標準協議

兩個序列管理控制器 (SMC), UART方式或透明傳輸, 含GCI(General Circuit Interface)控制器, 可以連到分時多工通道

一個序列外圍介面電路( SPI ), 是MC68302 SCP的擴充套件, 支援主從模式, 支援同一匯流排上多主操作

一個I2C ( Inter-Integrated Circuit ) 介面,支援主從模式, 支援多主環境

單插座PCMCIA-非同步終端適陪器(ATA)介面

  • 單PCMCIA插座

  • 八儲存或有效輸入/輸出(I/O)視窗

 

PerformanceFrenquency (MHz)TIMERData BusAddress BusExt IntterruptsInt InterruputsWatchdogPACKING
52MIPS @40MHz40Four 16-Bit Timers or Two 32-Bit Timers8/16/32321216Software WatchdogBGA357

 

IBM的PowerPC405GP晶片簡介 

程式設計示例可參見 系統初始化  PCI裝置初始化和網路分析

32位RISC嵌入式CPU,核心主頻達到200MHz PC-100,動態隨即儲存介面(Synchronous DRAM Interface).

100MHz外圍裝置匯流排(External Peripheral Bus)

  • Flash ROM/Boot ROM 介面
  • 支援8-16-32位SRAM和外設
  • 8個Devices
  • 支援外部控制

DMA—,支援外設,內部UART和記憶體,4個通道

PCI匯流排介面—可設定同步,非同步內建時鐘

乙太網(Ethernet)—-支援10/100Mbps全雙工(Full-duplex)

媒介獨立介面(Medium Independent Interface(MII)

可程式設計中斷控制器(Programmable Interrupt Controller)—-支援來自不同資源的中斷

  • 支援24箇中斷,7個外部中斷,17個內部中斷
  • 邊沿觸發或上下沿觸發
  • ………………….

CPU一次只能處理一箇中斷,共有18箇中斷優先順序(priority order)

32位地址線可達4GB的定址空間

主要控制器包括: SDRAM儲存控制器,外部裝置匯流排控制器(EBC),DMA控制器,UART,IIC匯流排介面,通用暫存器控制器(General Purpose I/O Controller),通用中斷控制器(Universal Interrupt Controller, UIC),   JTAG.

兩個匯流排分別支援不同的外設

  • 64位,100M Processor Local Bus(PLB),支援 high performance 外設
  • 32位,50M On-chip Perpheral Bus(OPB),支援 less performance-critical 外設

先進的功能

  • PCI介面
  • 內部整合乙太網口(Ethernet port on-chip)
  • Code pack decompression to improve code density

驅動PowerPC405GP的PowerPC405B3核心包括

  • 200MHz CPU 核心
  • 記憶體管理單元(Memory Mannanagement Unit,MMU)
  • 16K指令緩村(instruction caches)和8K資料快取(data caches)
  • Multiply-Accumulate (MAC)功能
  • 計時器(Timers)
  • 除錯,JTAG和Trace debug logic
  • 核心帶有4K的SRAM

一個64位累加計時器,由CPU時鐘驅動

三個計時器:可程式設計內部計時器(Programmable Internal Timer,PIT),固定內部計時器(Fix Internal Timer,FIT),看門狗計時器(Watch Dog Timer,WDT)

 

二,VxWorks裝入PowerPC的過程

   RISCWatch 是一套軟體和硬體開發工具, 主要為IBM PowerPC 600/700系列微處理器和IBM PowerPC 400系列嵌入式處理器提供軟硬體, 開發, 除錯.

      開發板JTAG口 (一般開發版都會甩出一個JTAG介面供開發除錯用 ) 連出一個2*8針的接頭與RISCWatch的模擬器端相連, 模擬器另一端通過網路連到裝有RISCWatch軟體的PC機. 不同種類的處理器JTAG管腳的定義不同, 所以和2*8針的接頭連線也不同, 具體連結方法參見RISCWatch使用者手冊.

       通過軟體和一個配套的硬體模擬器將VxWorks image寫入512K的Flash Socket. RISCWatch一端接板子上的JTAG介面,另一端接網路Network.

RISCwatch的執行過程順序: 初始化RAM——–>清理ROM——–>寫VxWorks image .bin到FlashRom

用RISCwatch裝入VxWorks的操作過程

1.執行RISCwatch: 開啟file—–>command file——>flashwri.cmd  

2.開啟Normal 初始化RAM, 在編輯框中鍵入run, 開始向FlashRom中寫入Bootrom.bin,寫入完成,鍵入stop,至此寫入完成

系統復位後, VxWorks執行,講程式寫入RAM中的各個地址

RISCwatch中的檔案定義

檔案rwppc.env: 可更改,如chip type, PC405GP等

檔案flashwri.com: 可以察看,改變,如IP地址,load….,   .out,  .bin

檔案flashprog.c: 輸出生成 .out, 是寫flash Rom 的檔案, 寫入 .bin

 

      開發板JTAG口 (一般開發版都會甩出一個JTAG介面供開發除錯用 ) 連出一個2*8針的接頭與RISCWatch的模擬器端相連, 模擬器另一端通過網路連到裝有RISCWatch軟體的PC機. 不同種類的處理器JTAG管腳的定義不同, 所以和2*8針的接頭連線也不同, 具體連結方法參見RISCWatch使用者手冊.

       通過軟體和一個配套的硬體模擬器將VxWorks image寫入512K的Flash Socket. RISCWatch一端接板子上的JTAG介面,另一端接網路Network.

RISCwatch的執行過程順序: 初始化RAM——–>清理ROM——–>寫VxWorks image .bin到FlashRom

用RISCwatch裝入VxWorks的操作過程

1.執行RISCwatch: 開啟file—–>command file——>flashwri.cmd  

2.開啟Normal 初始化RAM, 在編輯框中鍵入run, 開始向FlashRom中寫入Bootrom.bin,寫入完成,鍵入stop,至此寫入完成

系統復位後, VxWorks執行,講程式寫入RAM中的各個地址

RISCwatch中的檔案定義

檔案rwppc.env: 可更改,如chip type, PC405GP等

檔案flashwri.com: 可以察看,改變,如IP地址,load….,   .out,  .bin

檔案flashprog.c: 輸出生成 .out, 是寫flash Rom 的檔案, 寫入 .bin

 

三,除錯工具及除錯方法

底層驅動除錯 

RISCWATCH 是一種很好的除錯工具,觀察記憶體情況及程式執行.

   通過計算機串列埠與處理器UART相連,設定計算機的超級終端(Hyper Terminal), 通過超級終端察看硬體情況(暫存器設定,資料等)和程式執行情況,當然程式重要加入向UART送出資料的指令,用Beep報警也是經常用的.這種除錯方法是用於底層除錯硬體,找出硬體存在的問題.

   VxWorks 在Tornado Shell 不能正常執行前,也是採取這種方法來除錯程式,不過一般不是硬體問題,而是BSP中存在的問題,需要根據硬體,修改BSP.

以上是Shell不能正常執行是所採取的方法,Shell正常執行後,Shell是最好的除錯工具.

 

上層應用程式除錯跟蹤

Tornade2.0中Debuger和Shell是最好的除錯工具,可以單步執行跟蹤程式執行,觀察記憶體情況和系統資源情況.其中Shell的功能要好於Debuger,不過Debuger操作較為容易,直觀.

 

四,記憶體對映

MPC860的記憶體資源(如暫存器等)對映在一個連續的16K Block儲存區內,可通過SPR中的Internal Map Memory Register(IMMR)進行解析

對 Memory Registers 操作的幾種方式

Indirectly Access Registers Via Memory———————–通過指定的I/O暫存器(I/O port)對一個暫存器操作,

如PCI部分I/O操作示例如下:

PCI地址I/O暫存器: PCICFGADR  0xEEC00000
PCI資料I/O暫存器: PCICFGDATA 0xEEC00004

具體操作方法:將所要讀寫的暫存器地址寫入PCI地址I/O暫存器PCICFGADR,從PCI資料I/O暫存器PCICFGDATA讀出資料,這個資料就是寫入地址的暫存器的資料.

RegAddr = 0x80000000 | ((offset|BusDevFunc) & 0xFFFFFFFC);

RegAddr暫存器地址, 0x80000000 PCI core Address, offset暫存器偏移量

/*
* 寫RegAddr到PCI I/O地址暫存器PCICFGADR
*/
sysPciOutLong(PCICFGADR, RegAddr);

/*
* 從PCI I/O資料暫存器讀RegAddr資料data
*/
data = (unsigned int)sysPciInByte(PCICFGDATA | (offset & 0x3));

Directly Access Registers Via Memory————————-直接對暫存器操作

Indirectly Access Registers Via DCR—————————–同上,

Directly Access Regesters Via DCR——————————-同上,

 

五,PowerPC核心定義

雙處理器結構既提供了程式執行的通用處理器,又提供了用於通訊用處的特殊通訊處理器(CPM).

32位PowerPC結構特點

    • 32個32位通用暫存器 ( GPRs )

    • 暫存器支援使用者級指令集 (不包括浮點指令),包括integer exception register (XER ),condition register(CR),link register(LR),counter register ( CTR )

    • 時間加減及暫存器

    • 管理級暫存器,與PowerPC定義相容

    • Configuration—–Machine Status Register ( MSR )

    • Exception model—–Save/restore registers 0 and 1 (SRR0 and SRR1), DSI status register ( DSISR ), data address register ( DAR )

    • PowerPC 減量器

    • PowerPC 時基和 實時時鐘(RTC)

    • 管理級暫存器,與PowerPC定義相容

    • Configuration—–Machine Status Register ( MSR )

    • Exception model—–Save/restore registers 0 and 1 (SRR0 and SRR1), DSI status register ( DSISR ), data address register ( DAR )

    • PowerPC 減量器

    • PowerPC 時基和 實時時鐘(RTC)

    • Configuration—–Machine Status Register ( MSR )

    • Exception model—–Save/restore registers 0 and 1 (SRR0 and SRR1), DSI status register ( DSISR ), data address register ( DAR )

    • PowerPC 減量器

    • PowerPC 時基和 實時時鐘(RTC)

    • Exception model—–Save/restore registers 0 and 1 (SRR0 and SRR1), DSI status register ( DSISR ), data address register ( DAR )

    • PowerPC 減量器

    • PowerPC 時基和 實時時鐘(RTC)

管理級暫存器,與PowerPC定義相容

Configuration—–Machine Status Register ( MSR )

Exception model—–Save/restore registers 0 and 1 (SRR0 and SRR1), DSI status register ( DSISR ), data address register ( DAR )

PowerPC 減量器

PowerPC 時基和 實時時鐘(RTC)

Configuration—–Machine Status Register ( MSR )

Exception model—–Save/restore registers 0 and 1 (SRR0 and SRR1), DSI status register ( DSISR ), data address register ( DAR )

PowerPC 減量器

PowerPC 時基和 實時時鐘(RTC)

Exception model—–Save/restore registers 0 and 1 (SRR0 and SRR1), DSI status register ( DSISR ), data address register ( DAR )

PowerPC 減量器

PowerPC 時基和 實時時鐘(RTC)

 

  • 地址對映

 

名稱

記憶體實體地址

備註

SDRAM0x00000000~0x7FFFFFFF
PCI0x80000000~0xEF5FFFFF

Internal Peripherals

0xEF600000~0xEFFFFFFF
UART…..
…..…..

External Peripherals

0xF0000000~0xFF7FFFFF
NVRAM/RTC

  0xF0000000~0xF0001FFF  

(8K)下畫線為片選
Keybord/Mouse0xF0100000~0xF0100001下畫線為片選
FPGA_INT_ST..0xF0300000~0xF0300000下畫線為片選
FPGA_INT_EN..0xF0300001~0xF0300001下畫線為片選

Socket Flash

0xFFF80000~0xFFFFFFFF512K

SRAM

0xFFF00000~0xFFF7FFFF512K(可通過Swich與Socket Flash 切換)

 

  • 中斷優先順序(Exception Priority)

 

PriorityException TypeCause
1Development portnonmaskable interrupt Signal from the development port
2System resetinterrupt IRQ0 assertion
3Instruction-related exceptionsInstruction processing
4Peripheral breakpoint request or development port maskable interruptBreakpoint signal from any peripheral
5External interrupt (masked if MSR[EE] = 0) Signal from the interrupt controller
6Decrementer interrupt(masked if MSR[EE] = 0)Decrementer request

 

  • 中斷控制器 (UIC) 的中斷分配

 

中斷

極性觸發方式

中斷源

0正(High)電平(Level)UART 0
1正(High)電平(Level)UART 1
2正(High)電平(Level)IIC
3正(High)電平(Level)External Master
4正(High)電平(Level)PCI
5正(High)電平(Level)DMA Channel 0
6正(High)電平(Level)DMA Channel 1
7正(High)電平(Level)DMA Channel 2
8正(High)電平(Level)DMA Channel 3
9正(High)電平(Level)MAL Wake UP
10正(High)電平(Level)MAL SERR
11正(High)電平(Level)MAL TXEOB
12正(High)電平(Level)MAL RXEOB
13正(High)電平(Level)MAL TXDE
14正(High)電平(Level)MAL TXDE
15正(High)電平(Level)Ethernet
16正(High)電平(Level)External PCI SERR
17正(High)電平(Level)ECC Correctalbe Error
18正(High)電平(Level)PCI Power Management
….Reserved
25ProgrammableProgrammableExternal IRQ 0
26ProgrammableProgrammableExternal IRQ 1
27ProgrammableProgrammableExternal IRQ 2
28ProgrammableProgrammableExternal IRQ 3
29ProgrammableProgrammableExternal IRQ 4
30ProgrammableProgrammableExternal IRQ 5
31ProgrammableProgrammableExternal IRQ 6

 

  • 中斷向量表

 

        中斷向量表的其實地址取決於MSR[IP]的設定,IP位定義如下:

Exception preTx. The setting of IP speciTes whether an exception vector offset is prepended with Fs

or 0s. In the following description, nnnnn is the offset of the exception vector. See Table 7-1.

0 Exceptions are vectored to the physical address 0x000n_nnnn

nnnnn is the offset of the exception vector. See Table 7-1.

0 Exceptions are vectored to the physical address 0x000n_nnnn

0n_nnnn

1 Exceptions are vectored to the physical address 0xFFFn_nnnn

Fn_nnnn

The reset value of IP is determined by the IIP bit (bit 2) in the hard reset confguration word.

 

OffsetExceptionDescription
0x00000Reserved 
0x00100System reset interrupt 
0x00200Machine check interrupt 
0x00300DSIA DSI exception is never generated by hardware, but software may branch to this location because of an data TLB error or miss exception.
0x00400ISIAn ISI exception is never generated by the hardware, but software may branch to this location because of an implementation-speciTc instruction TLB error exception.
0x00500External Interrupt 

   

    這個表結合地址對映表可知系統復位的地址是 Socket Flash地址 系統復位偏移地址 = 0xFFF80000 0x0100 = 0xFFF80100,即系統通電後,跳到0xFFF80100的位置開始執行程式.

MPC860串列埠中斷過程

    MPC860整合了兩個處理塊,一個處理塊是嵌入的PowerPC核,另一個是通訊處理模組(CPM).通訊處理模組有4個SCC和2個SMC,這六個通訊口可以通過設定來支援多種協議和通訊方式,也可設定為串列埠UART模式(是通過暫存器GSMR或SMCMR),功能和中斷的定義和通常的串列埠定義基本是一致的在暫存器SCCM/SCCE的位14和位15定義了在何種情況下產生硬體中斷.

    根據MPC860中SCC UART Event Register(SCCE)的位14和位15定義,位14是資料傳送中斷標誌位,位15是資料接收中斷標誌位,首先設定SCC UART Mask Register(SCCM)的位14和位15為1,使能接受和傳送中斷.

如果串列埠收到資料,則產生硬體RX中斷,SCCE為15置1,通知系統有資料到達,有相應的中斷例程ISR來取資料.

    傳送的情況下,資料FIFO為空,產生TX中斷,告訴系統傳送準備就緒,可以傳送,ISR把資料放入FIFO中,傳送中斷位清零.當傳送完畢後,FIFO再為空,再次產生中斷,告訴系統傳送準備就緒,繼續傳送.

MPC860片選訊號的程式設計方法

在MPC860中,有片選訊號CS0,CS1,…,CS7對他們的操作主要是要改變片選訊號的電平 

一般來說片選訊號的發生是對和這一片選線相關聯的地址進行操作(讀寫)時片選訊號改變。片選訊號通常為低電平有效。比如MPC860的CS0是boot rom,硬體reset後,CPU會從boot rom的起始地址開始執行,CS0變為低
電平。

CS0/ ____                         片選型號
             |
             |____________________
we/ _____                        寫有效
              | 
              |_____________________

data _______  __  __                資料訊號
                       | | | | | 
                 |_| |_| |

所以只要對一個相應的地址操作,和這個地址晶片(bank)相連的CSx就會改變。
MPC860對CSx分配地址空間的在BRx中定義,BR0,BR1…BR7分別對應8個片選線CS0–CS7。

 

System Reset Interrupt (0x00100)

A system reset interrupt occurs when IRQ0 is asserted. When the exception is taken, processing begins at offset 0x00100. A hard or soft reset also causes program execution to begin fetching at 0x00100 after the associated reset actions.

Register Setting

SRR0: Set to the (Effective Address) EA of the next instruction of the interrupted process.

SRR1: Saves the machine status prior to exceptions and to restore status when an r f i instruction is executed.

1-4 ,——-0

10-15,— 0

Others Loaded from MSR[16-31]. SRR1[30] is cleared only by loading a zero from MSR[RI].

MSR : IP No change ME No change LE Value of MSR[ILE] of the interrupted process. Others —–0

r f i instruction is executed.

1-4 ,——-0

10-15,— 0

Others Loaded from MSR[16-31]. SRR1[30] is cleared only by loading a zero from MSR[RI].

MSR : IP No change ME No change LE Value of MSR[ILE] of the interrupted process. Others —–0

 

External Interrupt Exception (0x00500)

In the MPC860 the external interrupt is generated by the on-chip interrupt controller. It is software acknowledged and maskable by MSR[EE], which hardware clears automatically to disable external interrupts when any exception is taken.

Register Settings after an External Interrupt

Register Setting Description

SRR0 Set to the effective address of the instruction that the processor would have attempted to execute next if no interrupt conditions were present.

SRR1: 0, Loaded with equivalent bits from the MSR

1-4, Cleared; 5-9, Loaded with equivalent bits from the MSR; 10-15, Cleared; 16-31, Loaded with equivalent bits from the MSR

Note that depending on the implementation, reserved bits in the MSR may not be copied to SRR1.

MSR POW 0; ILE –; EE 0; PR 0; FP 0; ME –; SE 0; BE 0; IP –; IR 0; DR 0; RI 0; LE Set to value of ILE

 

Hard Reset ConTguration Word

The hard reset configuration word is sampled from the data bus. These bits determine the default values of the corresponding bits in the SIUMCR, IMMR, and MSR.

IIP:bit1: Initial interrupt prefix. Defines the initial value of the MSR[IP] which defines the interrupt table location. If

IIP is cleared (default), the MSR[IP] initial value is one; if it is set to one, the MSR[IP] initial value is zero.

ISB:bit 7-8, Initial internal space base select. Defines the initial value of the IMMR bits 0-15 and determines the

:bit 7-8, Initial internal space base select. Defines the initial value of the IMMR bits 0-15 and determines the

base address of the internal memory space.

00 0x00000000.

01 0x00F00000.

10 0xFF000000.

11 0xFFF00000.

 

:bit1: Initial interrupt prefix. Defines the initial value of the MSR[IP] which defines the interrupt table location. If

IIP is cleared (default), the MSR[IP] initial value is one; if it is set to one, the MSR[IP] initial value is zero.

ISB:bit 7-8, Initial internal space base select. Defines the initial value of the IMMR bits 0-15 and determines the

:bit 7-8, Initial internal space base select. Defines the initial value of the IMMR bits 0-15 and determines the

base address of the internal memory space.

00 0x00000000.

01 0x00F00000.

10 0xFF000000.

11 0xFFF00000.

 

.