CH549/CH548学习笔记6 - 读取芯片ID

每只CH549/CH548出厂时都具有唯一 ID 号,即芯片身份识别号。该 ID 数据及其校验和共 8 个字节,存储于只读信息区域的偏移地址为 10h 的区域中。

只读信息区域存放在0xF000~0xF3FF共1KB的Data Flash空间。CH549/CH548的只读信息区域只占32字节,即0xF000~0xF01F。操作时许:

(1)、设置地址寄存器 ROM_ADDR,写入按 4 字节对齐的目标地址(00h~3Fh),实际仅低 6 位有效;
(2)、设置操作控制寄存器 ROM_CTRL 为 08Dh,执行读操作,操作期间程序自动暂停运行;
(3)、操作完成后程序恢复运行,此时查询状态寄存器 ROM_STATUS 可以查看此次操作状态;
(4)、从 flash-ROM 数据寄存器 ROM_DATA_HI 和 ROM_DATA_LO 中获得 4 字节数据。

#define ROM_CMD_RD_OTP    0x8D      // WriteOnly: OTP area dword read operation command

uint32_t id[2];
    
ROM_ADDR = 0x10;
ROM_CTRL = ROM_CMD_RD_OTP;
id[0] = ROM_DATA_HI;
id[0] <<= 16;
id[0] |= ROM_DATA_LO;

ROM_ADDR = 0x14;
ROM_CTRL = ROM_CMD_RD_OTP;
id[1] = ROM_DATA_HI;
id[1] <<= 16;
id[1] |= ROM_DATA_LO;

注意,这里的地址只要偏移地址即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值