HR7P195在另一项目上的应用体会
前些日子作了一个项目, 它的要求资源是这样的:1. 4路ADC 进行采样
2. 一路PWM输出
3. 一路串口
4.I2C 丛机功能
5.IO控制及指示
工作原理:
由本设备对光功率, 直流电压和射频电平进行采样处理, 其中一路完成 PWM 输出控制 optical-AGC 功能
. 同时控制三个状态指示灯, 并作相应的IO输出控制.
本机要和下面的一个 ARM9 通过 I2C 通讯, ARM9 通作 I2C 总线从本机上取回数据, 如名称,批号,
各采集值, 及工作状态等.并能通过I2C 去改写名称和批号<生产方便>. 同时具有留有串口功能
本机上设置的参数要能保存并在下次上电后读取.
由于要求成本较低我在这里选用了 HR7P195 -20Pin 的CPU来做
1. 开始对方没有要求 I2C 的从机功能, 一路设计, 一切OK
2. 后用户增加了 I2C 从机的功能, 我们知道 I2C 速率是 100K/400K, 但用HR7P195 一个IO口的SCK最快只能
做到 10ms, 但有些信号捕捉不到,误码多, 所以放到 60~~80ms 才算稳定, 也就是 sck=9K左右
3.后来又调整了原来的中断, 中断要放在 10ms 的间隔才不影响 I2C 的读写误码
4.这个CPU的 ADC 不是很准,采样时要舍一位, 在 1000mv 时最准, 向下到 40mv 时最大误差为 40mv, 为负误差.
向上到 3000mv 时又为正误差 , 最大为27mv, 这样在采样电压为 100mv 以下时相当的不准. 而用户要求的光功率
非常的低, 最后只能用分布点来描述进行采样
总结
1. 基本功能还是可以的,通满足设计的要求
2. 堆栈太少, 8级呀.......整不好就溢出, 所以尽量用汇编, 少用 call, 特别是 call 中 call
3. 内部要用到16M 才能满足
4. 中断设计要多多注意,在进行ADC时最好关中断
很好的总结,“在进行ADC时最好关中断”不光是195, 其他型号的单片机都一样~~ {:victory:}{:victory:}{:victory:} 奖励莫币300大洋 一上来就看到了,有点钱了哦, 谢谢 总结的很好. 关什么中断?觉得无法理解这种行为 xukaiming 发表于 2014-8-1 13:26
关什么中断?觉得无法理解这种行为
保证AD转换不被其他中断影响啊 我顶!!!!!!!!
页:
[1]