CIU32M010、CIU32M030 華大電子MCU 通用輸入輸出及同步串行接口
參考價 | ¥ 5000 |
訂貨量 | ≥1件 |
- 公司名稱 沈陽芯碩科技有限公司
- 品牌 其他品牌
- 型號 CIU32M010、CIU32M030
- 產地
- 廠商性質 經銷商
- 更新時間 2023/12/12 16:29:47
- 訪問次數 104
聯系我們時請說明是化工儀器網上看到的信息,謝謝!
1.通用輸入輸出
1.1. 模塊介紹
每組 GPIO 端口有四個32位配置寄存器(GPIOx_MODE,GPIOx_OTYPE, GPIOx_OSPEED and GPIOx_PUPD),兩個32位數據寄存器(GPIOx_IDAT and GPIOx_ODAT),一個32位置位/復位寄存器(GPIOx_BSR)和一個32位翻轉寄存器(GPIOx_TGL)。另外,所有GPIO 有兩個復用功能選擇寄存器 (GPIOx_AFRH and GPIOx_AFRL)。
注:GPIOx 中的 x 表示 GPIO 組數。
1.2. 功能特點
• 輸出狀態:推挽或開漏(上下拉)
• 輸出寄存器狀態值(GPIOx_ODAT) 或者復用功能輸出
• 輸入狀態:浮空、上下拉、模擬
• 輸入數據到數據寄存器(GPIOx_IDAT) 或復用功能輸入
• 獨立置位/復位/翻轉 IO 狀態(GPIOx_ BSR、GPIOx_TGL)
• 模擬功能
• 復用功能(開漏或推挽、上拉或下拉)
1.3. 功能說明
GPIO 的每一個端口可以通過軟件獨立配置成下面狀態
• 輸入浮空
• 輸入上拉
• 輸入下拉
• 模擬功能
• 開漏輸出(上拉或下拉)
• 推挽輸出
• 復用功能(開漏或推挽、上拉或下拉)
1.3.1. 通用 IO(GPIO)
復位期間和剛復位后,復用功能未開啟,IO 端口被配置成浮空輸入模式。
當作為輸出配置時,寫到輸出數據寄存器上的值(GPIOx_ ODAT)輸出到相應的 IO 引腳??梢砸酝仆旎蜷_漏模式使用輸出驅動器。
輸入數據寄存器(GPIOx_ IDAT)在每個 APB 時鐘周期捕捉 IO 引腳上的數據。
所有 GPIO 引腳有一個內部弱上拉,當配置為輸入時,它們可以被激活也可以被斷開。
1.3.2. 單獨的位操作
當對 GPIOx_ ODAT 的個別位編程時,軟件不需要禁止中斷:在單次 APB 寫操作里,可以只更改一個或多個位。只需要通過對“置位/復位寄存器”(GPIOx_BSR)或“取反寄存器”(GPIOx_TGL)中想要更改的位寫“1”來實現。沒被選擇的位將不被更改。
1.3.3. 復用功能(AF)
芯片 IO 引腳通過多路選擇器連接到片內外設,每個 IO 上同一時刻只能選通一個復用功能。每個 IO 引腳有一個 2 輸入的多路選擇器連接到復用功能(AF0~AF1),通過配置 GPIOx_AFRH/L 選擇功能。如果把端口配置成復用輸出功能,則引腳和輸出寄存器斷開,并和片上外設的輸出信號連接。如果軟件把一個 GPIO 腳配置成復用輸出功能,但是外設沒有被激活,它的輸出將不確定。
1.3.4. GPIO 鎖定機制
鎖定機制允許在 GPIO 控制寄存器 GPIOx_LCK 上執行一串鎖定程序,然后把 GPIO 的狀態鎖定,一旦 GPIO 狀態被鎖定,將不可改變,直到復位。被鎖定的寄存器有(GPIOx_MODE, GPIOx_OTYPE,GPIOx_OSPEED, GPIOx_PUPD, GPIOx_AFRL and GPIOx_AFRH)。
鎖定序列參考 GPIOx_LCK 寄存器描述 。
1.3.5. 輸入配置
當 IO 端口配置為輸入時
• 輸出緩存器被禁止
• 施密特觸發輸入被激活
• 根據輸入配置(上拉、下拉或浮空)的不同,弱上拉和下拉電阻被連接
• 出現在 IO 腳上的數據在每個 APB 時鐘被采樣到輸入數據寄存器
• 對輸入數據寄存器的讀訪問可得到 IO 狀態
1.3.6. 輸出配置
當 IO 端口被配置為輸出時
• 輸出緩沖器被激活
開漏模式:輸出寄存器上的“0”激活 N-MOS,而輸出寄存器上的“1”將端口置于高阻態(P-MOS從不被激活)
推挽模式:輸出寄存器上的“0”激活 N-MOS,而輸出寄存器上的“1”將激活 P-MOS。
• 施密特觸發輸入被激活
• 弱上拉和下拉電阻被禁止
• 出現在 IO 腳上的數據在每個 APB 時鐘被采樣到輸入數據寄存器
• 在開漏模式時,對輸入數據寄存器的讀訪問可得到 IO 狀態
• 在推挽模式時,對輸出數據寄存器的讀訪問得到最終一次寫的值
1.3.7. 模擬輸入配置
當 IO 端口被配置為模擬輸入配置時
• 輸出緩存器被禁止
• 禁止施密特觸發輸入,實現了每個模擬 IO 引腳上的零消耗。施密特觸發輸出值被強制為“0”
• 弱上拉和下拉電阻被禁止
• 讀取輸入數據寄存器時數值為“0”
1.3.8. 復用功能配置
對 IO 端口進行編程作為復用功能時
• 在開漏或推挽式配置中,輸出緩沖器被打開
• 內置外設的信號驅動輸出緩沖器 (復用功能輸出)
• 施密特觸發輸入被激活
• 弱上拉和下拉電阻被禁止
• 在每個 APB 時鐘周期,出現在 IO 腳上的數據被采樣到輸入數據寄存器
• 開漏模式時,讀輸入數據寄存器時可得到 IO 口狀態
• 在推挽模式時,讀輸出數據寄存器時可得到最終一次寫的值
2. 同步串行接口
2.1. 模塊介紹
SPI_IIC 模塊可用作 SPI 接口通信和 IIC 接口通信,兩種功能同一時間只能選擇其中一種使用。該模塊集成兩種接口協議,節省資源的同時又能滿足不同的應用需求。
2.2. 功能特點
2.2.1. SPI 功能
• 支持主模式和從模式工作
• 支持全雙工收發
• 可編程時鐘極性,采樣相位,支持 4 種模式
• 支持 1~32bit 傳輸
• 支持 5byte 發送/接收數據緩沖
• 傳輸數據順序 MSB 和 LSB
• 支持標準模式,三線模式
• 可觸發中斷的專用發送和接收標志
2.2.2. IIC 功能
• 支持主模式和從模式
• 主模式支持時鐘同步和總線仲裁
• 從模式支持在發送數據沒有準備好或者接收緩沖器滿時候拉低 SCL
• 從模式支持 7bit 地址或者 10bit 地址
• 從模式支持接收廣播地址
• 支持 5byte 發送/接收數據緩沖
2.3. 功能說明
2.3.1. SPI 工作模式
• 模式 0:時鐘空閑為 0,上升沿采樣,下降沿出數據
• 模式 1:時鐘空閑為 0,下降沿采樣,上升沿出數據
• 模式 2:時鐘空閑為 1,下降沿采樣,上升沿出數據
• 模式 3:時鐘空閑為 1,上升沿采樣,下降沿出數據
2.3.2. SPI 接口模式
• 標準模式:通信線有 CLK,CS,IO0(MOSI),IO1(MISO),一個 CLK 傳輸 1bit 數據
• 三線模式:通信線有 CLK,CS,IO0,接收和發送都通過 IO0, 一個 CLK 傳輸 1bit 數據
2.3.3. SPI 數據幀與內部緩存
SPI 可支持 1~32bit 幀數據傳輸,內部集成了一個 40bit 的緩沖區,根據配置的數據幀長度不同,緩沖區能緩存的幀數也不一樣。數據幀長度<=8bit 時,緩沖區可容納 5 幀數據,8bit<數據幀長度<=16bit時,緩沖區可容納兩幀數據,數據幀長度>16bit 時,緩沖區可容納 1 幀數據,當緩沖區無法再容下一幀數據時,緩沖區滿標志會置 1。
2.3.4. IIC 主機時鐘同步和總線仲裁
IIC 主機模式時,在多主機的應用場景下,支持時鐘同步和總線仲裁。當總線上連接了不止一個主機時,就會存在同時發起通信的情況,這時候需要時鐘同步以及總線仲裁機制決定由哪個主機占用總線完成數據傳輸。
時鐘同步的原理:IIC 總線上的不同主機可能發起傳輸時的時鐘頻率不一樣,通過時鐘同步機制,可以讓所有主機的時鐘同步,才能進行逐位仲裁。所有主機的 SCL 在總線上是線與的關系,當總線上的 SCL由高切換到低電平時,所有主機從 0 開始計算低電平周期時間。當電平時間達到時,如果總線上的其它主機的 SCL 低電平仍然保持,那么其它主機進入高電平等待狀態,等低電平時間最長的主機的 SCL 拉高時再統一拉高。因此,總線上同步后的 SCL 的低電平時間由低電平周期最長的主機決定,而高電平時間由高電平周期最短的主機決定。
總線仲裁原理:IIC 總線上不同主機的 SDA 線也是線與的關系,各主機在 SCL 線為高電平時,檢查SDA 線的電平是否和自己發送的 SDA 信號一致,如果檢測到 SDA 線為低電平時,自己要發送的 SDA 信號為高電平,那么該主機仲裁失敗,停止總線上的傳輸動作。
2.3.5. IIC 從機拉低 SCL
IIC 從機在發送狀態下如果緩沖區中沒有可發送的數據,或者在接收狀態下緩沖區已滿時,將會在 SCL端口輸出低電平,拉低總線上的 SCL 信號使主機暫停發送時鐘。當從機準備好發送或者接收后,將在 SCL 輸出高電平,主機又可以重新控制總線上的 SCL 線,恢復數據傳輸。
2.3.6. IIC 從機支持 7bit/10bit 尋址
IIC從機支持 7bit 或者 10bit 尋址模式,由寄存器 CON0 的IIC_SLAVE_ADDR_WIDTH位決定。
7bit 模式下,主機需要在 TX 模式下發送帶 START 位的 7bit 地址,然后 1bit 為 R/W 標志。當主機寫從機時,尋址完成即可進行數據發送。當主機讀從機時,尋址完成后,主機需要改成 RX 模式,然后配置準備接收的數據長度(寄存器 DMA_LEN),然后對寄存器 CMD_DATA 寫任意值啟動接收。
10bit 模式下,主機需要在 TX 模式下發送帶 START 位的第 1byte 地址(此時 R/W 位為 1),接著發送第 2byte 地址,此時如果收到從機的 ACK 信號,則為尋址成功。接下來如果是主機寫從機,就可以直接進行數據發送。如果是主機讀從機,那么需要主機再次發送帶 START 為的第 1byte 地址(此時 R/W 為 1),然后切換成 RX 模式,配置寄存器 DMA_LEN,并且對寄存器 CMD_DATA 寫任意值啟動讀數據。
主機讀從機時,從機被尋址成功且收到讀標志時,需要切換成 TX 模式,并且往緩沖區中寫入要發送的數據。
2.6. 時鐘與復位
2.6.1. 時鐘介紹
該模塊時鐘來源于系統時鐘,可通過配置系統寄存中 CLKCON2 來使能時鐘。
2.6.2. 復位介紹
該模塊的復位源有兩個,分別是系統復位和軟件復位,軟件復位可通過配置系統寄存器觸發。