使用PKE8720DF-C13-F10(AMB26)开发板——UART模拟时钟信号

目录

1. PKE8720DF-C13-F10开发板

2. 所需材料

2.1 硬件需求

 2.2 软件需求

3. 代码介绍

4. 测试时钟信号


1. PKE8720DF-C13-F10开发板

PKE8720DF-C13-F10是基于PKM8720DF-C13-F10模组集成的开发板,支持 Wi-Fi 和 BT 5.0 协议。它使用 USB TypeC 连接器供电,具有自动上传电路。

PKE8720DF-C13-F10的基本信息、外设接口、引脚定义以及Arduino IDE配置的详细信息可以参考这一篇《使用PKE8720DF-C13-F10实现Arduino example——Button》。

2. 所需材料

2.1 硬件需求

(1) 逻辑分析仪一台,如下图所示。

(2) PKE8720DF-C13-F10开发板一块。

(3) Type-C USB线一根。

(4) 杜邦线至少两根。

 2.2 软件需求

(1) ImageTool

可用于download编译好的image文件到板子上。

(2) uart.alc

用于查看逻辑分析仪的波形图。

这里也可以选用示波器代替逻辑分析仪,这样的话就不用这个工具。

(3) Linux/Windows开发编译环境。

其编译的流程可参考这一篇《快速上手PKE8720DF-C13-F10开发板》。

3. 代码介绍

可以到“github_ambd_sdk”这里下载全部的相关源代码。

我们这里需要修改的代码如下:

cd ${ambd_sdk}/project/realtek_amebaD_va0_example/example_sources/UART/raw/uart_clock/src

vim main.c

然后,我们在这个文件里面,可以看到UART_TX和UART_RX的端口定义:

#define UART_TX    _PA_18    //UART0  TX
#define UART_RX    _PA_19   //UART0  RX

这里,我们要根据实际情况进行调整。可以看到,在PKE8720DF-C13-F10上面没有看到PA18和PA19这两个端口。我们可以根据实际端口示意图,进行调整,这里选择PB19作为TX端口,PB18作为RX端口,这样,上面这两行就修改为:

#define UART_TX    _PB_19    //UART0  TX
#define UART_RX    _PB_18   //UART0  RX

然后我们再看最下面的main函数:

void main(void)
{
    // only support 33kHz, 36kHz, 36.7kHz 38kHz, 40kHz, 56kHz
    uart_clock_init(40000);
    
    while(1) {
        uart_clock_on();
        /*set clock time*/
        DelayMs(2000);
        uart_clock_off();
        DelayMs(3000);        
    }
}

这里从注释中得知,这里只支持下面这几种频率:33kHz, 36kHz, 36.7kHz 38kHz, 40kHz, 56kHz,那么“uart_clock_init(40000);”这一行就表示选择了40kHz这个频率。

然后,我们将这个main.c文件复制到src_hp目录下,替换掉里面原来的main.c,这样板子在启动时就执行这里的函数:

cp -f main.c ../../../../../src/src_hp/

然后开始编译,生成三个image文件。

${GCC_RELEASE}/project_lp/asdk/image/km0_boot_all.bin

${GCC_RELEASE}/project_hp/asdk/image/km4_boot_all.bin

${GCC_RELEASE}/project_hp/asdk/image/km0_km4_image2.bin

4. 测试时钟信号

我们将生成的三个image文件烧录到板子中。

将逻辑分析仪上面的A0接入到板子上的TX,也就是上面代码中修改的PB19。逻辑分析仪上的GND接到板子上的GND。

这里只需要查看板子输出的时钟信号,所以板子上的RX暂时不用接。

将板子通过type-C USB接到电脑上。

将逻辑分析仪接到电脑上,打开uart.alc工具。

设置触发条件为上下边沿触发,采样率选取时钟信号频率的两倍或以上均可,这里使用200,如下:

然后点击“开始分析”,即右向三角按钮,重启板子,就可以在界面上看到时钟信号图了。

可以看到这里的rxTime[2500],即是40kHz的倒数。

然后我们可以再试着看一下56kHz的情况,类似的,修改上面的main.c文件,把里面的“uart_clock_init(40000);”修改为“uart_clock_init(56000);”即可,然后编译,download image,用逻辑分析仪查看。

可以看到这里的rxTime[1786],即是56kHz的倒数。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值