芯海科技
直播中

芯海技术支持

1年用户 198经验值
擅长:电源/新能源 模拟技术 测量仪表 嵌入式技术 控制/MCU 电源/新能源 测量仪表 嵌入式技术 模拟技术 控制/MCU
私信 关注
[压力触控]

CSA37F71/CSA37F72 系列问题集

1.问: 1.VS和PB0/VS 等有什么区别?
答: PB0/VS是从VS引过来的内部LDO输出脚。与VS间有一个37欧左右的开关电阻。VS引脚内部特殊处理,当VS关闭时,内断开该引脚,以保持VS上的电容不放电。

2.问:VDD 上接多大电容?
答:VDD上电容需要2.2uF+0.1uF,小于2.2uF可能引起电源不稳。

3.问:悬空的模拟口如何处理?
答:建议接地 。

4.问:悬空的 IO 如何处理?

答:悬空的IO建议输出低电平。

5.问:VS 的电容接多少?有什么影响?
答:VS电容接1uF,由于VS每秒会开关100次,因此不建议将传感器电源接在此处,否则电容充放电100次将导致功耗增大约300uA@3V。

6.问:传感器电源应该接哪个引脚?
答: PB0~PB2可复用为VS,内部开关等效电阻约为37欧。因此建议每两组传感器用一个PBX做传感器电源。每个PBX/VS的负载为500欧时,输出电压会衰减200mV。每个PBX/VS的负载为1K欧时,输出电压会衰减100mV。

7.问: 建议使用哪个 IO 做按键输出?
答:PA0PA7,PA10PA11为开漏IO,输出高电平需要外接上拉电阻,当VDD为3.3V时,PA0PA7,PA10PA11的VIH为0.44VDD,约为1.5V。可直接识别1.8V接过来的信号。

8.问:RST 脚是高电平有效还是低电平有效?
答: RST为高电平复位,最高支持5.5V,RST内置3K下拉,外部无需外接下拉电阻。复位脚支持1.8V复位。

9.问:DAC校正范围多少?
答: DAC校正范围为800mV。

10.问:为什么有时升级固件会失败?
答:当VDD的电源关闭时,如果VDD不是被拉到地而是浮空,则需要约2秒的时候才能保证其电平跌落到低电复位电平。因此如果不使用复位脚,则升级工具端要保证掉电时间大于2秒。

11.问: 复位时序有什么要求?
答: 复位脚高电平需要保持1uS以使芯片复位。复位脚变为低电平后,芯片需要39mS才能从完成上电。

12.问:芯片 VDD 低于多少会复位?
答:电压芯片的低电复位电压实测约为1.8V。

13.问:芯片从睡眠到唤醒需要多长时间?
答:芯片从各种睡眠模式唤醒的时候如下image.png

14.问:当 VDD 被拉低时,哪些IO 会有漏电?
答: 当VDD拉低时如果IO都上拉到3.3V或1.8V时,推挽输出的PB0PB1、PB4、PB5会有漏电。开漏输出PA0PA11没有漏电。因此原理图设计时需要保证推挽口在断电时不要外接高电平。

15.问:当芯片处于复位状态,I2C_SDA 脚被拉低?
答: 当RST脚为高电平时,除SDA脚外,所有IO都为高阻态。SDA会输出低电平。因此使用时,当RST输出高时,只需要通过软件锁住I2C总线,就可以防止影响总线上其它设备使用I2C总线。

16问:当 PA0/PA1/PA4/PA5复用成模拟通道时,会影响其他通道转换?
答: 当PA0/PA1/PA4/PA5复用为AIN通道,但输入悬空时,转换其他通道时会出现100个ADC码值得数据误差,PA0/PA1/PA4/PA5配置成默认的数字口时则无影响,建议不使用的复用口配置成数字口。

17.问:I2C 地址多少?
答: CSA37F71 BootLoader使用PB5引脚配置作为I2C地址选择功能。默认PB5浮空高,I2C地址为0x50,当PB5拉低时,I2C地址会重置为0x51。

18.问:代码最大空间多少?
答: BOOT代码中将FLASH前56K用于存放程序,后4K用于数据存储。

19.问:用JLINK 下载代码,有时无法运行?
答: 由于芯片默认是从LDROM 中运行。LDROM 中默认烧录了BOOTLOADER。BOOTLOADER 中要求0x0000EE00 地址有固件完整标记才会加载固件。因此,如果是通过JLINK 进行固件烧录。而芯片中没有固件烧录OK 的标记。断电后BOOTLOADER 是不会加载固件的。有两种方法解决该问题:

a) 在main 函数的上方添加全局变量“

const unsigned int UPDATE_OK_FLAG __at(0x0000EE00)

= 0x6E727562; ”该语句直接将烧录完成标记写到FLASH 中。只要烧录过一次该地址,只要不擦掉0x0000EE00 地址的数据,则后续可注释掉该全局变量。

b) 将芯片的启动分区从LDROM 改为APROM。此时将会跳过BOOTLOADER 直接引导固件。调试完固件请将启动分区从APROM 改回LDROM,否则芯片不再支持固件升级。

20.问:有时I2C通道SCL 会锁住?
答: I2C 从睡眠到唤醒需要需要清空I2C_RX_FIFO,以防止睡眠与唤醒时时钟切换导致I2C 总线锁住的问题。参考代码如下:

image.png

21.问:为什么芯片处于复位状态时,I2C_SDA 会被拉低?
答: 复位时,芯片进入烧录模式,将I2C_SDA 配成了输出低电平。因此需要在驱动中增加I2C 总线保护以防止复位时干扰总线上的其它设备。

image.png

22.问:IO 做输入时,读不到电平值?
答: GPIO 做输入时,要读取电平值需调用GPIO_OpenInputChannel 以打开输入通道。硬件上浮空的IO 可以将IO 配为输入模式并调用GPIO_CloseInputChannel 以达到省电的目的。参考代码如下:

image.png

23.问:如何从 LDROM 启动?如何从APROM 中启动?
答: CONFIG0 寄存器用于配置从LDROM 中启动还是从APROM 中启动?image.png

24.问:为什么芯片每隔 1秒左右就被复位?
答: 如果程序由BOOTLOADER引导启动。由于BOOTLOADER中已开启WATCHDOG,因此在主程序中需要手动关闭WDT,或者进行重新初始化并喂狗,否则每1.5秒左右会被复位一次。

25.问:芯片进入deep sleep1 时,IIC 通讯异常?
答: 这是由于“START”事件触发 HFO 起振后,“lp_start_det”信号(START 在low power模式下的二次确认)未正确置起,导致SDA 毛刺检测逻辑生效,关闭了HFO,导致IIC 通信失效。规避方式如下:
1、进入深度睡眠前,判断IIC 外设总线忙寄存器BUSY 为0 方才进入,如果不为零则不进入睡眠。

2、打开SCL/SDA IO 口下降沿中断。

26.问:为什么使用 keil 软件通过JLINK 烧录程序到芯片,无法运行?
答:这是因为芯片从boot loader 启动之后,会判断是否有AP 固件OK 标记,如果没有就会等待估计升级命令而不会自动跳转到用户代码区执行用户代码,用keil 软件开发并烧录的时候,需要在配置区写入固件OK 标记,才能正常从boot loader 跳转到用户代码区。

27.问:独立看门狗能设置复位时间吗?
答:不能,独立看门狗的。看门狗复位定时固定为60s,由一个独立的振荡器2K LIRC 驱动(在深度睡眠模式状态下仍可操作),软件开启后无法关闭,只有上电/掉电复位/复位脚复位可以复位。

28.问:温度传感器能检测环境温度吗?
答: 不能,芯片内置的温度传感器主要是用来检测芯片内部的温度,用于AFE-ADC 采集数据做温度补偿用的,温度误差范围在± 5°左右。

29.问:为什么将固件烧录到芯片里面,芯片没反应?
答:这是因为芯片默认是从bootloader 启动,boot 状态下会先判断是否有固件OK 标记,检测到OK 标记之后才会正常跳转到AP 用户代码区,如果没有固件OK 标记会一直在boot 状态等待,因此用keil 或者IAR 调试烧录时,需要强制写入OK 标记。const unsigned int UPDATE_OK_FLAG __at(0x0000EE00) = 0x6E727562;

30.问:芯片怎么设置工作模式,功耗怎样?
答: 芯片固件可以设置成3种工作模式,各模式下功耗如下表所示。

image.png

31.问:当芯片处于复位状态,I2C_SDA 脚被拉低?
答: 当RST脚为高电平时,除SDA脚外,所有IO都为高阻态。SDA会输出低电平。因此使用时,当RST输出高时,只需要通过软件锁住I2C总线,就可以防止影响总线上其它设备使用I2C总线。

32.问: ADC 对应的电压值怎么换算
答:ADC芯片的ADC对应的电压值跟VS参考电压、ADC精度、PGA放大倍数相关,具体的计算R如果ADC位数是14位,公式为:1ADC = VS/8192/PGA; 如果ADC位数是16位,公式为:1ADC = VS/32768/PGA。

33.问:怎么计算输入的偏移量 Offset
答:芯片上电之后,由于AFE 本身以及外部输入端的初始电压,会导致ADC 检测到一个初始的值,这个值就是输入的偏移量Offset,因此如果需要获取Offset 值,只需要上电时ADC 自校准之后采集一次就能得到。

34.问:怎么计算 ADC 对应的电容值
答:芯片上电之后,由于AFE 本身以及外部输入端的初始电压,会导致ADC 检测到一个初始的值,这个值就是输入的偏移量Offset,因此如果需要获取Offset 值,只需要上电时ADC 自校准之后采集一次就能得到。

35.问:怎么计算 ADC 采样的时间
答:不同工作模式下,AFE2 的转换时间存在差异。转换时间段定义及各模式计算公式如下:转换时间段定义

image.png

单次转换:T = t1 + t2 + t3 + t4 +t5+t6

单周期转换:T = t1 + C*(t2 + t3 + t4 +t5)+ t6

有限周期转换:T = t1 + C*(t2 + M*(t3 + t4+t5))+t56

突发模式:T = t1 + t2 + 8*(t3 + t4+t5) +t6

其中,C 为使能量化通道数,M 为有限周期模式下单通道转换次数

36.问:上电初始化时,VS 启动有需要注意的地方
答: 上电初始化时,要先使能VS 限流模式,然后延时5ms 之后将VS 设置成正常模式。

更多回帖

发帖
×
20
完善资料,
赚取积分