N76E003老牌单片机,看到很多项目都用N76E003这个片子,今天就来研究一下。先来介绍一下新塘官方的样板:NuTiny-SDK-N76E003,究竟长什么样子,看下面的图就知道了,有一种一份为二的冲动,的确有时候也可以这么玩,设计的初衷就是让你掰着玩的。
这块板卡我虽然没有具体用过,也没有拿到新塘官方的样板,但是这颗TargetChip N76E003的确挺火的,板卡分为左右两半部分,左边是以TargetChip的核心板,引出了相关的引脚,一个复位按钮,一个电源指示灯,一个用户IOLED,同时也引出了VCC和GND电源引脚。右边是新塘设计的Nu-Link-Me,主要实现对新塘系列的单片机的下载和调试功能,Nu-Link-Me的主控使用的是:MCU12SRE3DE,这颗芯片暂时没有详细查资料,后面给大家补上,网上很多大神将Nu-Link-Me魔改为DAP,Nu-Link-Me就跟我们熟悉的ST-LinkULink类似,使用USB一键下载和调试目标芯片程序,新塘这里称Nu-Link-Me的主控为ICEController,此外,Nu-Link-Me还支持虚拟串口,使用SW3拨码开关来使能和失能虚拟串口,使能虚拟串口时,N76E003AT20的UART0作为串口和PC串口助手通讯。
这颗芯开发环境如何搭建?
张三说IAR好用,李四说Keil 好用 pack包多,王五说我就喜欢捣鼓,用VScode有些芯片也可以用…………..,开发IDE云里雾里,最好上手还是keil C51,那么如何在keil C51上使用Nu-Link-Me来下载和调试程序? 主要分为以下几步:
第一步:修改Debug 使用 Nuvoton 8051 Keil C51 Driver 作为调试器
第二步:确保设置界面按照以下连接方式进行默认设置。
第三步:Flash编程工具记得使用Nuvoton 8051 Keil C51 Driver 哦!
这样就可以使用Nu-Link-Me一键下载和调试程序了。
差补知识点1:Nu-Link-Me 原理图分析:
下图是从新塘官网down下来的Nu-Link-Me 原理图,是不是跟ST-Link有些面熟?本人使用过赛元的MCU,赛元的调试器使用的是STM32作为主控,有兴趣的可以去研究一下,同样是调试器,Nu-Link-Me也大同小异,只要拿到固件,参考其原理图设计,自己就可以做出一个Nu-Link-Me。
Nu-Link-Me原理图
先来看一下Debug接口,Nu-Link-Me使用的是SWD五线接口,主要包括:VCC、GND、ICE_DAT(数据)、ICE_CLK(时钟)、ICE_RST(复位),有些SWD接口可以不用接RST,只需要VCC、GND、ICE_DAT(数据)、ICE_CLK(时钟)、四线即可。Debug SWD端口只要实现对Nu-Link-Me的固件更新。
Nu-Link-Me 主控MCU12SRE3DE使用PC10 ICEDAT(数据)、PC9 ICECLK(时钟)、PC8ICERST(复位),作为NuTiny-SDK-N76E003 板卡N76E003芯片的调试与下载口,ICEDAT->TICEDAT、 ICECLK-> TICECLK、ICERST-> TICERST,此外还通过JP2端口引出。
再来看一下USB接口,Nu-Link-Me使用的是mini USB接口,DM、DP接入33R的电阻到USB的数据口,最终连接到MCU12SRE3DE的USB_D- (D-) 和USB_D+ (D+)引脚。
Nu-Link-Me主控MCU12SRE3DE串口0默认通过ICE_TX -> Tiny_Tx, ICE_RX -> Tiny_Rx接到目标芯片N76E003的串口,通过SWD3是使能是否打开和关闭虚拟串口。
Nu-Link-Me主控时钟选择12M无缘晶振,外加20pf电容辅助起振,复位电路使用10uf的有极性电容和10K电阻硬件复位。
Nu-Link-Me有四个状态指示灯,分别是:ICE红 ISP黄 IDLE红 BUSY 绿,通过330R的排阻接到VCC, 四个状态指示灯分别表示 Nu-Link-Me所处于的状态,用户可以根据四个状态指示判断Nu-Link-Me正常与否。
Nu-Link-Me 电源使用USBVBUS 5V供电,再使用AMS1117_3.3V,稳压到3.3V为主控供电,这也是绝大多数开发板使用的电源电路方案。
差补知识点2:NuTiny-SDK-N76E003 原理图分析:
NuTiny-SDK-N76E003板卡的左半部分就有一颗孤零零的N76E003,其20pin引脚,却可以有18 个IO的能力,强大到爆炸。这边的板卡主要是将其IO引出,预留下载调试口连接Nu-Link-Me和串口等。此外还有复位电路和LED指示电路蛮简单的设计。
N76E003芯片,无需外接时钟晶振,只需要复位电路即可构成最小系统,复位电路同样使用10K的电阻和10uf的电容,按钮按下实现N76E003芯片硬件复位。
NuTiny-SDK-N76E003中有两颗LED,电源LED和GPIO LED,调试代码时可以点亮GPIO LED来指示程序的运行状态。
第三个问题,这颗芯有多少内功?
内功1:N76E003,是新唐高速1T 8051 单片机系列产品, 18 KB Flash ROM、可配置DataFlash与高容量1 KB SRAM ,支持2.4V 至 5.5V 宽工作电压与 - 40 ℃ 至105 ℃ 工作温度,并具备高抗干扰能力 7 kVESD/4 kV EFT。
内功2:N76E003 在20 pin封装下提供高达18根I/O脚位;周边包含双串口、 SPI 、 I²C 、6通道 PWM 输出。
放大招:内建优于同类产品之 < 2% 误差之高精确度16 MHzRC晶振,高分辨率8通道12位 ADC ;并具备自我唤醒、欠压检测等功能;提供TSSOP20( 4mm*6.5mm ) 与QFN20 ( 3mm*3mm ) 小封装,兼具高性能与设计弹性。
无所不能:门禁系统/警报器、温度传感设备、蓝牙音箱、电动车表头、数字电压表头、气体检测器、采集器、充电器、美容仪器、小家电等。
补一个表给大家看,刷新一下三观:
第四个问题,这颗芯该怎么玩?
N76E003原理图参考了NuTiny-SDK-N76E003,我这里新加了一个USB串口功能,使用的CH340N,8p 简单方便。
PCB部分很简单,双层板,还添加了小小的丝印,板子过几天送去打印,后续可以考虑画一块拓展板卡,会出一些N76E003基于本版卡的测试工程发布到论坛,方便大家的学习和调试使用。这里的GND没连接,喜欢直接使用GND来铺铜。
参考新塘给的N76E003 Demo是上手最快的方法,官方写出来的参考历程是最具有权威的,后期为了项目的需求,可以将写的代码托管到git平台上,组建团队一起来开发和学习。涉及到具体的编程我就不多说了,毕竟那是你们的战场,我很想写点代码给你们展示,可是我也没有现成的板卡啊,还是要板卡打印出来以后,硬件调试没有问题。