8H系列硬件I2C问题疑问
本帖最后由 一笔长空 于 2024-4-24 10:37 编辑stc8h8k单片机外部使用一个I2C的器件,器件的数据手册要求SCK占空比最小为30%,但stc8h硬件I2C的SCK占空比最大只能到百分之20多不满足要求,我将硬件I2C的总线速度调到了最慢MSSPEED=63,系统时钟调到12M之后SCK占空比为22%才勉强能用,要是把时钟速度调到24M之后SCK占空比不到21%传感器就不能正常通讯了。但是这样12M的系统时钟运行太慢了,调到24M之后I2C通讯又不行了,看了STC手册里也没有关于SCK占空比的寄存器,这怎么办。器件是ATMEL的也是大厂器件。
本帖最后由 晓飛飛 于 2024-4-23 23:35 编辑
从STC官方资料来说,SCL的占空比是接近50%的,你的测试结果偏差很大,需要具体分析一下原因。没有根据的情况下,说是“8H系列的硬件I2C缺陷”,这样的措辞显然不太合适。
你这里用到的具体是什么型号的器件,通过什么电路和8H系列的哪个型号单片机一起使用的,需要了解工作电压、上拉电阻的取值和布局位置分析一下。
就目前我对STC8H系列单片机的应用情况来说,测试过的I2C器件少说有十几个厂牌,包括ATMEL的24C51224C02, MAXIM的MAX30102传感器,NXP的PCF8563,盛思睿的SHT31,TI的OPT3001,还有各种尺寸的OLED屏等等,从没有任何一个器件说很难调通。
实测24MHz时钟下,MSSPEED设置为5,I2C总线使用IO内置4K上拉,SSD1360的OLED在这样的总线速度下都能流畅刷屏,兼容性毫无问题。
一个人发现已经应用很久的功能有缺陷,我觉得可能性很小,
贴出原理图,代码啥的,让大神们帮着分析看看,
你这么认为.比我认为绝对是你的问题还武断{:4_165:}
看看外围电路,I2C的上拉电阻阻值是否合适 晓飛飛 发表于 2024-4-23 23:25
从STC官方资料来说,SCL的占空比是接近50%的,你的测试结果偏差很大,需要具体分析一下原因。没有根据的情 ...
用的是开天斧开发板,硬件I2C的p14,p15口,10k上拉电阻 小飞侠 发表于 2024-4-24 07:59
看看外围电路,I2C的上拉电阻阻值是否合适
用的是开天斧开发板,硬件I2C的p14,p15口,10k上拉电阻 本帖最后由 一笔长空 于 2024-4-24 10:49 编辑
难道是10k上拉太弱了?我换成4.7k试试,之前一直用的10k上拉,拆过一些设备也都是10k上拉
更新——现在上拉电阻是5k,也是一样占空比很小。
Microchip-Tech-AT24C02C, Microchip-Tech-AT24C32E attached.
Duty does not matter, only minmum HI or LO times.
改成5K的,占空比跟10K比有变化吗?如果有变化可以再小一点,但是不要太小 小飞侠 发表于 2024-4-24 11:42
改成5K的,占空比跟10K比有变化吗?如果有变化可以再小一点,但是不要太小 ...
有变化,但变化非常小还是达不到要求
页:
[1]
2