opencore UART 16550 自发自收验证通过

  

 

     在opencore上下载的uart 16550 IPcore,在cyclone II 上实现自发自收功能,即PC 串口向fpga发送数据,fpga收到数据后原样返回。

 

    串口参数:115200,8,N,1

 

   大致流程:

         step1: 初始化UART core 的寄存器,主要是波特率、中断、数据位的设置。

         step2: 根据中断,读取receive fifo,然后将其写入 transfer fifo。

 

  做出来后,觉得这并没什么。回想两天前,这对我来说就是一座“山”。

 

  人生就是不断翻越一座座山!只有这样,才会看得更高,看得更远!

### 如何进行 UART16550 自发测试 #### 准备工作 确保拥有必要的测试工具和文件。对于 Rockchip 平台,建议使用由官方提供的 `ts_uart.uart` 测试程序以及配套的数据文件 `send_0x55` 和 `send_00_ff` 来辅助完成自发测试[^3]。 #### 设置环境 利用 ADB 工具将上述提到的测试程序及其依赖项上传至目标设备上的 `/data` 文件夹内: ```bash adb root adb remount adb push ts_uart.uart /data adb push send_0x55 /data adb push send_00_ff /data ``` #### 执行测试 启动测试应用程序并指定要使用的串口接口(例如 UART16550),这通常涉及到设置特定参数来匹配硬件配置。如果一切正常,在发送特殊字符 U (即十六进制表示为 0x55) 的情况下,应该能够观察到预期的行为——成功接到相同的内容;而对于其他任意字符,则应显示其对应的 ASCII 十六进制编码形式作为反馈[^1]。 #### 验证过程 为了进一步确认驱动的功能性和稳定性,还可以尝试调整不同的波特率设置,并通过命令行查看当前系统的 UART 时钟频率以确保它适应所选速率的要求: ```bash cat /sys/kernel/debug/clk/clk_summary | grep uart ``` 此操作有助于排除因不兼容或错误配置引起的潜在问题[^4]。 #### 使用FPGA实现方案 另外,如果有条件的话,也可以考虑采用已验证过的 FPGA 实现方案来进行更深入的测试。这类方法不仅支持多种标准协议如 RS232, RS422 及 RS485,而且具备良好的灵活性和扩展能力,适用于不同场景下的需求分析与故障排查[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值