一笔长空 发表于 2024-4-23 23:07:28

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:25:16

本帖最后由 晓飛飛 于 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在这样的总线速度下都能流畅刷屏,兼容性毫无问题。

xiangzichen 发表于 2024-4-23 23:52:11

一个人发现已经应用很久的功能有缺陷,我觉得可能性很小,
贴出原理图,代码啥的,让大神们帮着分析看看,

你这么认为.比我认为绝对是你的问题还武断{:4_165:}

小飞侠 发表于 2024-4-24 07:59:37

看看外围电路,I2C的上拉电阻阻值是否合适

一笔长空 发表于 2024-4-24 10:21:07

晓飛飛 发表于 2024-4-23 23:25
从STC官方资料来说,SCL的占空比是接近50%的,你的测试结果偏差很大,需要具体分析一下原因。没有根据的情 ...

用的是开天斧开发板,硬件I2C的p14,p15口,10k上拉电阻

一笔长空 发表于 2024-4-24 10:21:33

小飞侠 发表于 2024-4-24 07:59
看看外围电路,I2C的上拉电阻阻值是否合适

用的是开天斧开发板,硬件I2C的p14,p15口,10k上拉电阻

一笔长空 发表于 2024-4-24 10:25:08

本帖最后由 一笔长空 于 2024-4-24 10:49 编辑

难道是10k上拉太弱了?我换成4.7k试试,之前一直用的10k上拉,拆过一些设备也都是10k上拉


更新——现在上拉电阻是5k,也是一样占空比很小。

jmg 发表于 2024-4-24 11:27:42



Microchip-Tech-AT24C02C, Microchip-Tech-AT24C32E attached.

Duty does not matter, only minmum HI or LO times.



小飞侠 发表于 2024-4-24 11:42:13

改成5K的,占空比跟10K比有变化吗?如果有变化可以再小一点,但是不要太小

一笔长空 发表于 2024-4-24 13:09:11

小飞侠 发表于 2024-4-24 11:42
改成5K的,占空比跟10K比有变化吗?如果有变化可以再小一点,但是不要太小 ...

有变化,但变化非常小还是达不到要求
页: [1] 2
查看完整版本: 8H系列硬件I2C问题疑问