ZHCSR72A november 2022 – august 2023 TCAL9539-Q1
PRODUCTION DATA
輸入端口寄存器(寄存器 0 和 1)反映引腳的輸入邏輯電平,無論配置寄存器將引腳定義為輸入還是輸出。輸入端口寄存器為只讀。寫入這些寄存器不產生影響。默認值 (X) 由外部應用的邏輯電平決定。在執行讀取操作之前,系統將連同命令字節發送寫入傳輸,以指示 I2C 器件接下來將訪問輸入端口寄存器。
| 位 | I-07 | I-06 | I-05 | I-04 | I-03 | I-02 | I-01 | I-00 |
|---|---|---|---|---|---|---|---|---|
| 默認值 | X | X | X | X | X | X | X | X |
| 位 | I-17 | I-16 | I-15 | I-14 | I-13 | I-12 | I-11 | I-10 |
| 默認值 | X | X | X | X | X | X | X | X |
輸出端口寄存器(寄存器 2 和 3)顯示由配置寄存器定義為輸出的引腳的輸出邏輯電平。這些寄存器中的位值對定義為輸入的引腳沒有影響。反過來,從這些寄存器讀取的值反映了控制輸出選擇的觸發器中的值,而不是實際的引腳值。
| 位 | O-07 | O-06 | O-05 | O-04 | O-03 | O-02 | O-01 | O-00 |
|---|---|---|---|---|---|---|---|---|
| 默認值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 位 | O-17 | O-16 | O-15 | O-14 | O-13 | O-12 | O-11 | O-10 |
| 默認值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
極性反轉寄存器(寄存器 4 和 5)允許對配置寄存器定義為輸入的引腳進行極性反轉。如果對這些寄存器中的某個位進行設置(寫入 1),則相應端口引腳的極性會反轉。如果這些寄存器中的某個位被清除(寫入 0),則相應端口引腳的原始極性會保留。
| 位 | P-07 | P-06 | P-05 | P-04 | P-03 | P-02 | P-01 | P-00 |
|---|---|---|---|---|---|---|---|---|
| 默認值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | P-17 | P-16 | P-15 | P-14 | P-13 | P-12 | P-11 | P-10 |
| 默認值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
配置寄存器(寄存器 6 和 7)配置 I/O 引腳的方向。如果這些寄存器中的某個位設置為 1,則相應端口引腳被啟用為具有高阻抗輸出驅動器的輸入。如果這些寄存器中的某個位被清除為 0,則相應端口引腳被啟用為輸出。將端口從輸入配置更改為輸出配置將導致與該端口關聯的任何中斷被清除。
| 位 | C-07 | C-06 | C-05 | C-04 | C-03 | C-02 | C-01 | C-00 |
|---|---|---|---|---|---|---|---|---|
| 默認值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 位 | C-17 | C-16 | C-15 | C-14 | C-13 | C-12 | C-11 | C-10 |
| 默認值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
輸出驅動強度寄存器控制 P 端口 GPIO 緩沖器的輸出驅動電平。每個 GPIO 都可以通過兩個寄存器控制位獨立地配置為所需的輸出電流電平。例如,端口 P07 由寄存器 41(第 7 位和第 6 位)控制,端口 P06 由寄存器 41(第 5 位和第 4 位)控制等。GPIO 的輸出驅動電平編程為 00b = 0.25x 驅動強度、01b = 0.5x 驅動強度、10b = 0.75x 驅動強度或 11b = 1x,以實現全驅動強度能力。請參閱第 9.2 節以了解更多詳細信息。
| 位 | CC-03 | CC-03 | CC-02 | CC-02 | CC-01 | CC-01 | CC-00 | CC-00 |
|---|---|---|---|---|---|---|---|---|
| 默認值 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| 位 | CC-07 | CC-07 | CC-06 | CC-06 | CC-05 | CC-05 | CC-04 | CC-04 |
| 默認值 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
位 |
CC-13 | CC-13 | CC-12 | CC-12 | CC-11 | CC-11 | CC-10 | CC-10 |
|
默認值 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
位 |
CC-17 | CC-17 | CC-16 | CC-16 | CC-15 | CC-15 | CC-14 | CC-14 |
|
默認值 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
輸入鎖存寄存器啟用和禁用 P 端口 GPIO 引腳的輸入鎖存功能。這些寄存器僅在引腳配置為輸入端口時有效。當輸入鎖存寄存器位為 0 時,不鎖存相應的輸入引腳狀態。相應輸入引腳的狀態變化會產生中斷。讀取輸入寄存器會清除中斷。如果在讀取輸入端口寄存器之前輸入返回到其初始邏輯狀態,則中斷被清除。
將輸入鎖存寄存器位設置為 1 時,會鎖存相應的輸入引腳狀態。輸入狀態的變化會產生一個中斷,輸入邏輯值被加載到輸入端口寄存器(寄存器 0 和 1)的相應位中。讀取輸入端口寄存器會清除中斷。但是,如果輸入引腳在讀取輸入端口寄存器之前返回其初始邏輯狀態,則不會清除中斷,并且輸入端口寄存器的相應位會保持引發中斷的邏輯值。
例如,如果 P04 輸入處于邏輯 0 狀態,然后轉換為邏輯 1 狀態,再返回邏輯 0 狀態,則輸入端口 0 寄存器將捕獲此更改并生成中斷(如果未屏蔽)。當對輸入端口 0 寄存器執行讀取操作時,假設沒有其他輸入發生變化,中斷將被清除,并且輸入端口 0 寄存器的第 4 位將讀取“1”。輸入端口寄存器第 4 位的下一次讀取現在應讀取“0”。
當非鎖存輸入與鎖存輸入同時切換狀態,然后返回其原始狀態時,中斷保持激活。輸入寄存器的讀取只反映了鎖存輸入狀態的變化,同時也清除了中斷。如果輸入鎖存寄存器從鎖存配置變為非鎖存配置,并且輸入邏輯值恢復到其原始狀態,中斷將被清除。
如果輸入引腳從鎖存輸入變為非鎖存輸入,則從輸入端口寄存器讀取會反映當前端口邏輯電平。如果輸入引腳從非鎖存輸入變為鎖存輸入,則從輸入寄存器讀取會反映鎖存邏輯電平。
| 位 | L-07 | L-06 | L-05 | L-04 | L-03 | L-02 | L-01 | L-00 |
|---|---|---|---|---|---|---|---|---|
| 默認值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | L-17 | L-16 | L-15 | L-14 | L-13 | L-12 | L-11 | L-10 |
| 默認值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
上拉/下拉使能寄存器允許用戶啟用或禁用 GPIO 引腳上的上拉/下拉電阻器。將該位設置為邏輯 1 可以選擇上拉/下拉電阻。將該位設置為邏輯 0 會斷開上拉/下拉電阻與 GPIO 引腳的連接。當 GPIO 引腳配置為輸出時,電阻器將被禁用。使用上拉/下拉選擇寄存器來選擇上拉或下拉電阻。
| 位 | PE-07 | PE-06 | PE-05 | PE-04 | PE-03 | PE-02 | PE-01 | PE-00 |
|---|---|---|---|---|---|---|---|---|
| 默認值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | PE-17 | PE-16 | PE-15 | PE-14 | PE-13 | PE-12 | PE-11 | PE-10 |
| 默認值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
上拉/下拉選擇寄存器允許用戶通過編程相應的寄存器位來配置每個 GPIO,以具有上拉或下拉電阻。將某個位設置為邏輯 1 會為該 GPIO 引腳選擇一個 100kΩ 的上拉電阻。將某個位設置為邏輯 0 會為該 GPIO 引腳選擇一個 100kΩ 的下拉電阻。如果通過寄存器 46 和 47 禁用上拉/下拉功能,則寫入這些寄存器不會對 GPIO 引腳產生影響。
| 位 | PUD-07 | PUD-06 | PUD-05 | PUD-04 | PUD-03 | PUD-02 | PUD-01 | PUD-00 |
|---|---|---|---|---|---|---|---|---|
| 默認值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 位 | PUD-17 | PUD-16 | PUD-15 | PUD-14 | PUD-13 | PUD-12 | PUD-11 | PUD-10 |
| 默認值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
上電時,中斷屏蔽寄存器默認為邏輯 1,在系統啟動期間禁用中斷。可以通過將相應的屏蔽位設置為邏輯 0 來啟用中斷。
如果輸入改變了狀態,并且中斷屏蔽寄存器中的相應位設置為 1,則屏蔽中斷并且不斷言中斷引腳。如果中斷屏蔽寄存器中的相應位設置為 0,將斷言中斷引腳。
當輸入改變了狀態,并且產生的中斷被屏蔽時,將中斷屏蔽寄存器位設置為 0 會導致中斷引腳被斷言。如果當前已經是中斷源的輸入的中斷屏蔽位設置為 1,將解除斷言中斷引腳。
| 位 | M-07 | M-06 | M-05 | M-04 | M-03 | M-02 | M-01 | M-00 |
|---|---|---|---|---|---|---|---|---|
| 默認值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 位 | M-17 | M-16 | M-15 | M-14 | M-13 | M-12 | M-11 | M-10 |
| 默認值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
中斷狀態寄存器是用于標識中斷源的只讀寄存器。讀取時,邏輯 1 表示相應的輸入引腳是中斷源。邏輯 0 表示輸入引腳不是中斷源。當中斷屏蔽寄存器中的相應位設置為 1(已屏蔽)時,中斷狀態位將返回邏輯 0。
| 位 | S-07 | S-06 | S-05 | S-04 | S-03 | S-02 | S-01 | S-00 |
|---|---|---|---|---|---|---|---|---|
| 默認值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | S-17 | S-16 | S-15 | S-14 | S-13 | S-12 | S-11 | S-10 |
| 默認值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
輸出端口配置寄存器選擇按端口推挽或開漏 I/O 級。邏輯 0 會將 I/O 配置為推挽式(Q1 和 Q2 處于活動狀態,請參閱圖 8-2)。邏輯 1 將 I/O 配置為開漏(Q1 被禁用,Q2 處于活動狀態),建議的命令序列是在配置寄存器(06 和 07)將端口引腳設置為輸出之前,對該寄存器 (4F) 進行編程。
ODEN0 配置端口 0X,ODEN1 配置端口 1X。
| 位 | 被保留 | ODEN-1 | ODEN-0 | |||||
|---|---|---|---|---|---|---|---|---|
| 默認值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |