ZHCAFN4 August 2025 AFE7900 , AFE7901 , AFE7903 , AFE7906 , AFE7950 , AFE7951 , AFE7953 , AFE7954 , AFE7955 , AFE7958
BRINGUP_AFE 模塊使用 32 位寄存器來(lái)控制模塊,并存儲(chǔ)啟動(dòng)狀態(tài)。每個(gè) 32 位寄存器均可使用 ctrl_data_loc、 ctrl_data、ctrl_data_load 和 sts_data_out 端口訪問(wèn)。Ctrl_data_loc 用于選擇要修改或讀取的 32 位寄存器。在設(shè)置 ctrl_data 后,對(duì) ctrl_data_load 執(zhí)行 0-1-0 切換操作,即可將 ctrl_data_loc 的 32 位數(shù)據(jù)修改為 ctrl_data。Sts_data_out 實(shí)時(shí)反映 BRINGUP_AFE 模塊中 ctrl_data_loc 的 32 位數(shù)據(jù)。
| 地址 | 位 | 字段名稱 | 訪問(wèn) | 默認(rèn)值 | 說(shuō)明 |
|---|---|---|---|---|---|
| 0x0 | 0:0 | bringup_finished | R | 0x0 | "1" 表示啟動(dòng)已完成 |
| 0x0 | 1:1 | 無(wú)效 | R | 0x0 | 無(wú)效字段。數(shù)據(jù)不相關(guān)。 |
| 0x0 | 2:2 | bringup_err_sticky | R | 0x0 |
如果置位,表示發(fā)生了啟動(dòng)錯(cuò)誤。 粘滯標(biāo)志。切換到 clear_bringup_err 以清除此標(biāo)志 |
| 0x0 | 3:3 | bringup_halt | R | 0x0 |
指示 BRINGUP_AFE 是否處于停止?fàn)顟B(tài)。 啟動(dòng)完成或在 stop_at_bringup_fail = "1" 時(shí)發(fā)生啟動(dòng)錯(cuò)誤 |
| 0x0 | 4:4 | unknown_instruction | R | 0x0 |
模塊無(wú)法解析當(dāng)前指令。 預(yù)計(jì)不會(huì)發(fā)生 |
| 0x0 | 5:5 | module_ready_flag | R | 0x0 | 狀態(tài)標(biāo)志指示模塊是否準(zhǔn)備好啟動(dòng) |
| 0x0 | 6:6 | bu_cycles_ovr | R | 0x0 | 如果 bu_cycle 大于 2**32,則設(shè)置溢出標(biāo)志 |
| 0x0 | 7:7 | give_sysref_now | R | 0x0 |
置位 give_sysref_now 標(biāo)志后,在單脈沖 sysref 的情況下發(fā)送 sysref。 將 sysref 發(fā)送至 AFE 后,切換到 continue_bringup。 對(duì)于連續(xù) sysref,則忽略 |
| 0x0 | 10:8 | 無(wú)效 | R | 0x0 | 無(wú)效字段。數(shù)據(jù)不相關(guān)。 |
| 0x0 | 11:11 | data_valid | R | 0x0 | 用于調(diào)試。Mem_data_valid 端口的值 |
| 0x0 | 12:12 | 無(wú)效 | R | 0x0 | 無(wú)效字段。數(shù)據(jù)不相關(guān)。 |
| 0x0 | 15:13 | 無(wú)效 | R | 0x0 | 無(wú)效字段。數(shù)據(jù)不相關(guān)。 |
| 0x0 | 23:16 | spi_data | R | 0x0 | 用于調(diào)試。從器件讀回當(dāng)前指令的 Spi 數(shù)據(jù) |
| 0x0 | 31:24 | 無(wú)效 | R | 0x0 | 無(wú)效字段。數(shù)據(jù)不相關(guān)。 |
| 0x1 | 31:0 | curr_instr | R | 0x0 | 用于調(diào)試。指示當(dāng)前指令 |
| 0x2 | 31:0 | 無(wú)效 | R | 0x0 | 無(wú)效字段。數(shù)據(jù)不相關(guān)。 |
| 0x3 | 31:0 | 無(wú)效 | R | 0x0 | 無(wú)效字段。數(shù)據(jù)不相關(guān)。 |
| 0x4 | 31:0 | bu_cycle | R | 0x0 | 啟動(dòng)所需的時(shí)鐘周期數(shù)。當(dāng) start_bringup = 0 時(shí)復(fù)位 |
| 0x5 | 31:0 | mem_addr | R | 0x0 | 用于調(diào)試。與 mem_addr 端口的值相同 |
| 0x6 | 31:0 | mem_data | R | 0x0 | 用于調(diào)試。與 mem_data 端口的值相同 |
| 0x7 | 31:0 | BRINGUP_AFE_version | R | 0x100 | 指示 BRINGUP_AFE 模塊型號(hào)。 |
| 0x8 | 31:0 | current_bu_err_code | R | 0x0 | 發(fā)生任一啟動(dòng)錯(cuò)誤時(shí)的錯(cuò)誤代碼。 |
| 0x10 | 0:0 | clear_bringup_err | R/W | 0x0 | 切換以清除 bringup_err_sticky |
| 0x10 | 1:1 | stop_at_bringup_fail | R/W | 0x1 | 如果置位,模塊會(huì)在啟動(dòng)錯(cuò)誤時(shí)停止。否則忽略啟動(dòng)錯(cuò)誤并繼續(xù) |
| 0x10 | 2:2 | continue_bringup | R/W | 0x0 | 切換到此選項(xiàng),以便在模塊因啟動(dòng)錯(cuò)誤而停止后繼續(xù)啟動(dòng) |
| 0x10 | 4:3 | RSVD | R/W | 0x0 | 保留。請(qǐng)勿更改默認(rèn)值。 |
| 0x10 | 5:5 | ovr_instr | R/W | 0x0 | 覆蓋指令。是否覆蓋當(dāng)前指令 |
| 0x10 | 6:6 | ovr_instr_trig | R/W | 0x0 | 0-1-0 切換操作觸發(fā)執(zhí)行 ovr_val_instr。僅在 bringup_halt 為 1 時(shí)可行。 |
| 0x10 | 7:7 | RSVD | R/W | 0x0 | 保留。請(qǐng)勿更改默認(rèn)值。 |
| 0x10 | 8:8 | start_bringup | R/W | 0x0 |
在啟動(dòng)期間,始終將此標(biāo)志維持在高電平。 提供一個(gè) 0 --> 1 脈沖來(lái)觸發(fā)啟動(dòng)。 在變更到 1 之前,0 可至少保持在 5 個(gè)時(shí)鐘周期 |
| 0x10 | 31:9 | RSVD | R/W | 0x0 | 保留。請(qǐng)勿更改默認(rèn)值。 |
| 0x11 | 31:0 | RSVD | R/W | 0x100000 | 保留。請(qǐng)勿更改默認(rèn)值。 |
| 0x12 | 31:1 | RSVD | R/W | 0x0 | 保留。請(qǐng)勿更改默認(rèn)值。 |
| 0x13 | 31:2 | ovr_val_instr | R/W | 0x0 |
覆蓋當(dāng)前指令的值。 僅當(dāng) ovr_instr = "1" 時(shí)有效 |
控制寄存器的更新步驟
控制或狀態(tài)寄存器的讀取步驟