zynq7000 I2C RTC 与 串口使用

发布时间 2023-08-03 18:10:56作者: Hello-FPGA

 

RS485 串口 测试

硬件上2路串口,其中UART 1对应PS STD IN/OUT,UART 0对应RS485;

图示, 示意图

描述已自动生成

图 ‑1 RS485电路,自动转换输入、输出方向

可参考 https://blog.csdn.net/qq_39400113/article/details/122387133

图片包含 图表

描述已自动生成

图 ‑2 使能2路串口

文本

描述已自动生成

图 ‑3 先查看串口设备状态

其中0 对应UART 串口,1对应RS485接口;

代码参考

https://stackoverflow.com/questions/18633871/unable-to-read-serial-port-uart

uart的设置参数很多,需要完整设置才能正常工作起来。

RTC测试

板上enable 了RTC,RTC是I2C接口

图示, 示意图

描述已自动生成

图 ‑1 RTC电路

使用PS EMIO连接RTC

图示

描述已自动生成

图 ‑2 EMIO I2C

然后,需要在system-user.dtsi设备树添加I2C节点,其中compatible 属性值参考当前linux 内核的RTC驱动,reg 对应RTC芯片设备地址,参考芯片手册。

&i2c0 {

clock-frequency = <100000>;

 

rtc@32 {

compatible = "epson,rx8010";

reg = <0x32>;

};

};

文本

描述已自动生成

图 ‑3 RTC8010 内核驱动属性

图形用户界面

低可信度描述已自动生成

图 ‑4 RTC设备地址,其中bit 0忽略,然后整体右移1bit,高位补0

其次,要在内核配置时,enable 对应的驱动。

图形用户界面, 文本, 应用程序

描述已自动生成

图 ‑5 enable RTC内核驱动

然后编译,启动,使用hwclock指令查看RTC时间

图 ‑6 hwclock指令查看RTC时间(当前没有对准)