AI8051U 学习打卡
第一次接触STC 51单片机,是在10多年前的学生时代。听说近出了AI8051U这种逆天强悍的51系列,赶紧来围观学习下,看是否能用到工作中。第一节课主要讲解AI8051相比前辈强在哪里,这正是我感兴趣的地方:
[*]指令集上支持 32 位和 8 位指令集;
[*]执行效率1T;
[*]容量34K SRAM (2K edata, 32K xdata), 64K Flash;想起古早51只有128字节的内存,现在已经进化到K级别,跟data比执行效率如何?加油干到M级别吧!!!!!!,还有为了实现大于64k程序存储而采用的bankcoding技术,哈哈哈哈,上头,死去的记忆又复活了。。。。。。;
[*]强大的PLL,可以加速部分外设执行;想起多年前接触到的台产显示驱动芯片,正是这种51+PLL方案,51做简单控制和UI,PLL倍频后加速外设将VGA信号转换成LVDS信号驱动屏幕显示。
[*]逆天的TFPU@120MHz, 硬件浮点 / 硬件三角函数运算器;竟然带硬件浮点、三角函数,还用PLL加速执行,这是在以前简直不敢想象,有些需要DSP运算地方的福音;
[*]DMA 的升级,支持 PWM外设、支持外设直接到外设; 啧啧,妥妥点灯大师
[*]带硬件USB;可以下载、模拟大容量设备、cdc串口.......,简直太方便了,期待上高速2.0口,各种USB主从机随便玩;
[*]120MHz-PWM 支持硬件移相,16 位 PWM; 4 组串口,12 位 ADC, 轨到轨比较器;塞进去一个硬件比较器,省掉了运放;
[*]QSPI, SPI, I2S, I2C, TFT-i8080/M6800 接口;QSPI也可以被PLL加速执行,期待拿到开法箱试一下刷屏真的那么丝滑嘛。
学习打卡 | 第一节课:AI8051U的逆天强大
在10年前的学生时代,我第一次接触了STC 51单片机,这是一款集运算、控制、通信于一体的单片机。当时我对它的性能充满想象,认为它比台产驱动芯片更加先进和强大。 soon,我听说了一款叫做AI8051U的51系列芯片,它在指令集、执行效率、内存容量等方面都表现得非常出色,甚至让我对它充满期待。
1. 指令集的升级
AI8051U的指令集比前辈51系列要大得多,主要分为32位和8位两种。32位指令集的指令量远超前辈,可以支持更复杂的操作,而8位指令集则提供了更强的执行效率。执行效率方面,AI8051U支持1T(TTL时钟转换),这意味着在硬件延迟方面有明显优势,可以显著提升硬件设计的效率。
2. 强大的内存容量
AI8051U的内存容量达到了34K SRAM(2K edata,32K xdata),比前辈51系列的128字节容量要大得多。同时,AI8051U采用了K级别的内存,这意味着它的缓存和运行时内存 much larger than 古早51。此外,AI8051U还支持 bank coding技术,可以将不同的存储设备(如SSD、NVMe)集成到同一个芯片中,从而实现更高的灵活性和效率。
3. 十进制编码器(PLL)加速
AI8051U配备先进的十进制编码器(PLL),可以加速外设的执行速度。例如,PLL可以将外设的频率倍频后,将VGA信号转换成LVDS信号,从而加速屏幕显示的处理速度。这种技术不仅提高了外设的执行效率,还为实现复杂的 DSP(数字信号处理)运算提供了有力支持。
4. 硬件浮点运算与三角函数运算
AI8051U还配备了硬件浮点运算和三角函数运算模块,这些功能在传统的软件浮点运算中是无法实现的。硬件浮点运算可以显著提高运算速度和精度,而三角函数运算则可以在图形处理单元(GPU)中实现,从而进一步加速图像和游戏的 rendering(渲染)过程。
5. DMA 加速
AI8051U支持DMA(数据流加速)技术,可以将外设的指令直接执行到外设中,从而显著提高外设的执行效率。此外,AI8051U还支持PWM(比例-积分-导数)外设,可以将PWM信号直接输出到外设中,从而进一步优化系统性能。
6. 硬件USB支持
除了以上功能,AI8051U还配备了硬件USB接口,支持从单片机中读取和写入大容量的文件。此外,AI8051U还支持模拟与DAC(数字-to-模拟转换器)的双向通信,这为无线通信和信号处理提供了有力支持。
总结
AI8051U的逆天强大之处在于其在指令集、内存容量、加速技术、硬件性能和扩展性等方面的综合表现。如果你正在追求高性能的硬件设计,AI8051U无疑是一个值得考虑的选择。无论是软件开发、硬件设计还是信号处理,AI8051U都能为你的项目提供强大的支持和效率提升。希望通过这节课的学习,你也能在工作中找到AI8051U的潜力,并将它应用到实际项目中。
[本文内容由国芯人工智能辅助生成,仅供参考] 第一节:AI8051U的指令集与内存优化
1.1 指令集的扩展
AI8051U相比前辈51系列单片机在指令集上进行了重大突破。它支持32位和8位指令集,相比前辈的128字节内存容量显著提升到K级别(2K字节和32K字节的内存容量),这为实现复杂程序和软件支持提供了坚实基础。
1.2 强大的内存优化
AI8051U采用了先进的银行编码技术(Bank Coding),结合了 grandparents和M Virt化技术(Grands)的内存管理,使内存容量进一步提升到64K字节。这种技术不仅提高了内存的使用效率,还为实现大容量程序存储提供了保障。
1.3 外设加速技术
AI8051U在外设执行上表现出色,特别是通过硬件PLL(Phase-Aligning Loop)加速了部分外设的执行。这种技术为实现复杂外设和多任务处理提供了有效工具。
1.4 硬件浮点运算与三角函数运算
AI8051U配备了硬件浮点运算和三角函数运算单元,支持120MHz的硬件浮点运算和硬件三角函数运算。这为实现 DSP(数字信号处理)运算和图形处理等高计算需求提供了 powerful 的硬件支持。
1.5 DMA支持
AI8051U支持DMA(Direct Memory Access)技术,包括 PWM(Pulse-Width Modulation)外设支持,以及外设直接到外设的能力。这种功能显著提高了数据传输和访问速度,适用于高性能设备和网络环境。
1.6 硬件USB接口
AI8051U还支持硬件USB接口,用户可以通过模拟或直接读取 USB 设备来获取大量数据和资源。这种接口提供了丰富的外部设备和资源获取的可能性。
1.7 集成硬件浮点运算
AI8051U的硬件浮点运算和三角函数运算能力使其成为实现复杂算法和图形处理的理想选择。这些功能在现代图形处理器和实时应用程序中得到了广泛应用。
第二节:AI8051U的外设加速技术
2.1 硬件PLL加速外设执行
AI8051U通过硬件PLL(Phase-Aligning Loop)技术,显著加速了部分外设的执行速度。这种技术利用了单片机的硬件资源,实现外设的高效控制和加速。
2.2 外设直接到外设支持
AI8051U支持外设直接到外设的访问,用户可以通过外设直接到其他外设进行数据和资源的快速访问。这种功能极大地提升了单片机的访问性和扩展性。
2.3 多任务处理实现
AI8051U的外设加速技术和硬件浮点运算能力,使得它成为实现多任务处理的理想选择。用户可以通过简单的外设配置,实现复杂任务的执行。
第三节:AI8051U的硬件浮点运算
3.1 硬件浮点运算单元
AI8051U配备了硬件浮点运算单元,能够直接执行浮点数运算。这种能力使得单片机成为实现高精度和高效率的数字处理工具。
3.2 硬件三角函数运算
AI8051U还配备了硬件三角函数运算单元,能够直接执行三角函数运算。这种功能使得单片机成为实现图像处理、图形渲染等高计算需求的理想选择。
第四节:AI8051U的DMA支持
4.1 DMA的扩展
AI8051U的DMA支持显著提升了数据传输和访问速度。用户可以通过DMA技术,直接访问其他外设,实现高效的数据访问和资源管理。
4.2 多任务处理的实现
AI8051U的DMA支持和外设直接到外设的技术,使得它成为实现多任务处理的理想选择。用户可以通过简单的外设配置,实现复杂任务的执行。
第五节:AI8051U的硬件USB接口
5.1 硬件USB接口的实现
AI8051U配备了硬件USB接口,用户可以通过模拟或直接读取 USB 设备来获取大量数据和资源。这种接口提供了丰富的外部设备和资源获取的可能性。
5.2 数据访问的高效性
AI8051U的硬件USB接口通过高效的数据访问机制,确保了数据的快速和准确传输。这种功能使得单片机成为实现高性能设备和网络环境的理想选择。
第六节:总结与展望
AI8051U凭借其强大的指令集、内存优化、外设加速、硬件浮点运算和DMA支持,成为现代单片机技术的代表之一。它的功能和特性为实现复杂程序和高计算需求提供了 powerful 的工具。随着技术的发展,AI8051U将继续在硬件设计和软件支持方面发挥重要作用,为现代硬件开发和应用提供有力支持。
[本文内容由国芯人工智能辅助生成,仅供参考] 着急拿到板子,计划两三天完成打卡任务吧。接着看第二集视频,要点记录如下。
第二节课主要讲解学习AI8051U的软硬件环境:
硬件环境:AI8051U试验箱,主要硬件资源有:
烧录下载调试口;TYPE C、TYPE A 或插针,不是古老Micro、Mini USB还要找线啥的,现今手机充电线就可以,比较方便。
双串口转换;采用STC自研芯片,将AI8051U的串口1或串口2转换为USB,通过TYPE C口引出。
存储模块: 外扩SRAM、TF内存卡拓展槽、Flash、EEProm。
示波器模块:信号经标准示波器探头端子引入,再经可调增益放大信号,最后滤波后到达AI8051U的ADC3。
音频模块:包括IO驱动的无源蜂鸣器、音频输入采样、输出三部分;
音频输入电容咪头经耦合、滤直、放大、巴特沃斯滤波、放大后经P1.2 进入AI8051U的ADC2。
音频输出则为AI8051U经IIS和IIC控制TLV320AIC23BDAC输出音频到标准3.5mm耳机和音响端子。
显示资源:包括8位流水灯、8位数码管,IIC、SPI接口 OLED接口,触摸彩屏 接口、12864接口 。
按键:引出16个ADC按键、2X4矩阵按键、以及T0\T1,INT0\INT1、电源、复位6个专用按键。
红外:一对 发射和接受头。
掉电检测演示模块:一个可调电阻调节系统供电,电压经P4.6-COMP比较触发掉电事件,
可以完全掉电前完成重要数据保存。
485通讯:串口2 经SP3485转换后输出至插针
温度传感:经典的18B20和NTC测温
实时时钟模块:功能内置,只需插上纽扣电池就行。
波形发生电路:可由PWM产生方波,或有PWM通过低通滤波去除 PWM 信号中的高频杂波,
再利用两级带通滤波提取特定频率信号,最后经过衰减和输出选择,实现
将 PWM 信号转换为较为纯净的正弦波信号输出。
软件环境:KEIL C51\C251
讲解KEIL C51 \C251软件下载、安装、工程打开,AIapp-ISP烧录例程、向 KEIL添加STC头文件 ,以及Keil中断拓展插件
演示如何拓展51中断向量标号等。这些等板子到了还需要具体操作一下练练手。
第三节课围绕如何点亮第一颗LED,讲解AI8051U的入门过程。
由于KEIL软件操作、语法相关已有基础,这节二倍速看的很快,虽然没板,也照着视频操作了一遍软件,遗忘的地方又倒过去看对应知识点的视频。
老师讲的不错,事无巨细,一一呈现出来,内容如下:
1:创建KEIL工程创建,单片机型号选取,新建源文件并选取路径保存,之后添加新建的源文件到工程。
2:设置新工程,点魔术棒,在Target和output子项之中设置CPU Mode、Memory Model、Code Rom Size,勾选4 Byte Interrupt Frame Size,
以及代码空间超过64k的一些配置。
3:添加头文件,讲解了系统目录和工程目录头文件的添加区别,主要使用AIapp-ISP-v6.95P中的头文件功能完成头文件生成保存添加。
4:输入代码框架
5:设置keil中空格键格式和编码格式防止中文注释乱码。
6:keil C51的基础语法,最小工程。
7:AI8051U的IO控制,IO控制寄存器配置,如何配置使某个或者某组IO为常用的输入输出状态。
8:编译烧录:KEIL中编译生成HEX文件,AIapp-ISP-v6.95P中选择文件烧录,时钟选择,烧录前要操作开发板按键进入ISP状态。
9:灯不亮时电路、代码分析,代码修正,经典电路演绎分析代码如何点亮指定led。
10:简介AI8051U的IO控制寄存器。
11:进制知识简介。
12:AI8051U 管脚初识。
13:使用AIapp-ISP-v6.95P生成管脚配置代码。
第四课学习:主要讲解如何实现不断电下载
我理解这其实就是USB cdc应用的一个实例,在应用中初始化USB cdc串口,
上位机通过cdc串口发送软复位指令到Ai8051U,引导其复位进入ISP模式执行下载过程,仅仅
几行代码便可省去两个按键操作,这是相当的方便。
同时官方送我的擎天柱小开发板到了,赶紧编译烧个程序玩一下,感谢官方免费优质的学习资源,哈哈。
第五课学习:C语言通俗入门
用这门语言敲代码已经有十多年了,算是个回顾强化一下记忆吧。
全文以printf()切入,讲解了usb cdc 串口printf()使用、格式控制字符、
ASIIC码、数的进制、数据类型、运算符、数据位宽、数据溢出等等知识。
想起当年学运算符这些时候的记忆顺口溜:单、算、移、关、与、异或、逻、条、赋、逗,哈哈哈。
数据位宽这些更有意思了,早先找工作时经常有人问,8位机、16位机、32位机、64位机其int占几个字节呀,与什么有关?
或者,#define MAX_TEST_1 (0x1fffful)与#define MAX_TEST_2 (0x1ffff),在不同编译环境中谁大谁小呀,诸如此类的,嘿嘿嘿。
当然本课程还没触及C的复合数据类型,以及灵魂:指针。
这些属于认知性的知识,平常心学习接受就行,注意要跟数学上的运算区分开,二者神似形不似哈。
第六课学习:初识GPIO输入输出
主要讲解GPIO高低电平定义、各种IO工作模式含义及用法、然后是按键实验,
读取连接按键的IO电平状态,判断后输出对应LED的IO高低电平。
交作业如下
第七课:主要讲解定时器应用,包括寄存器、AIapp-ISP生成配置代码,定时计算,
中间穿插讲解函数定义、声明、调用相关知识。
从文档看Ai8051U的定时器为:
向上递增计数;
计数的起点是重载寄存器或THn的值;
计数终点是65535或者255 ;
递增的间隔就是系统时钟经预分频器,计数速率 分频后所得时钟的倒数;
由此计数周期为(计数终点-计数起点)*递增的间隔
如开启定时中断,则在从计数的起点到达计数终点后会触发中断;
如果使能了重载功能,那么会周期性的触发中断;
交作业:
779
第八节课:硬件定时器+代码实现软定时器
围绕定时器周期性调度任务主题,引入数组、结构体、结构体数组这些复合数据类型,
和如何自定义数据类型以及源码文件创建、添加到工程的基本知识。籍由以上知识实现
基于硬件定时器的简单多任务调度系统。
通过这些优化项目,使代码架构清晰,易于理解、维护。
这节课没有课后习题,那就摸个鱼吧。
呵呵,据说学习打卡7节课程以上会有试验箱送,期待ing...{:4_197:}{:4_197:}
页:
[1]
2