搜索
bottom↓
回复: 513

AVR已死,建议马老师编写M051的入门资料,快速进入M051新纪元...

[复制链接]

出0入0汤圆

发表于 2010-9-25 12:55:08 | 显示全部楼层
阿莫又要挑我上山了。现在老了,没有10年前的精力了。

发上我在网上收集的资料,他们公司的光盘说过几天给我....

点击此处下载 ourdev_585500MAUB30.rar(文件大小:12.23M) (原文件名:m051.rar)

另外他们的官方站上有视频培训,中文的。我的资料也是在这里找的。

http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/IndustrialIC/ARMMicrocontroller/ARMCortexTMM0/Pages/On-Line%20Training.aspx

出0入0汤圆

发表于 2010-9-25 13:16:12 | 显示全部楼层
关于学习板我已经有初步的想法。

做一个小的转接板,下面是2*20的插针,可直接装在AVR-51板上任何一个缩紧座上,这样AVR-51所有的外围就可以使用。

转接板上用LQFP48的M051芯片,留出必要的调试接口就可以了。

开发工具为:
1。平台:KAIL AMD 或 IAR ARM(这个自己解决)
2。简易省钱方案:(只能下程序,不能在线调试)什么也不要了,使用M051的ISP方式,可通过RS232或USB口直接下载。
3。全套工具:购买NU-LINK,我前天问的价,大约100-200元,可实现下载和调试,还包括脱机下载的功能(当时要买一个,说手上没有)。

上位机软件新唐都有免费下载,ISP的BOOTLOAD固件新唐站上也有(都在我上传的包里)。前天问过,现在出厂的M051中BOOTLOAD还是空的,不能实现ISP,以后会灌进去的。当然如果官方固件没有问题,我们也可以自己灌进去,再提供大家使用。

说明,我只是在消化阶段,还没有动手尝试以上的方案。手上已经有M051和NU100的最小SDK了,准备好后有空会玩的。

出0入0汤圆

发表于 2010-9-25 13:22:26 | 显示全部楼层
回复【35楼】armok 阿莫
回复【30楼】machao  
阿莫又要挑我上山了。现在老了,没有10年前的精力了。  
-----------------------------------------------------------------------
哈哈,马老师不要认老啊,现在国家都建议推迟退休年龄了 :)

-----------------------------------------------------------------------

不行了,现在我的领导有些都曾经是我教过的学生,还有5年本人就到点了。那时到阿莫这里远程打工可以吗?你恐怕也不要老头子的。

出0入0汤圆

发表于 2010-9-25 13:23:52 | 显示全部楼层
回复【42楼】zhousun
我看了一下手册,发现芯片5v供电,非常好,只是没有找到输出电平说明
-----------------------------------------------------------------------

有说明的,5V,驱动能力在20mA左右。

出0入0汤圆

发表于 2010-9-25 22:47:09 | 显示全部楼层
在小的M051 SDK上已经把LED点亮闪烁了。

下一步是实现ISP。还要做点功课,摸索一下。

出0入0汤圆

发表于 2010-9-25 23:12:35 | 显示全部楼层
采用ICP方式检查过了,目前M051芯片中LDROM中是空的,因此还不能实现ISP。

看过官方关于ISP的资料,好象针对M051的ISP固件还没有公布?都是NUC1XX系列的。

出0入0汤圆

发表于 2010-9-26 00:20:09 | 显示全部楼层
新唐的Nu-Link-Me V1.03(缩减版的仿真下载器)好象全部公开了,提供了电路图和固件。

该版本支持NUC1XX和M051,成本不超过50元,可以自己做的。采用了一片他们自己公司的NUC120RE3AN,也是M0架构的32位单片机,比M051高一个档次。

出0入0汤圆

发表于 2010-9-26 11:03:11 | 显示全部楼层
回复【150楼】erxun 老孟
回复【144楼】machao  
新唐的nu-link-me v1.03(缩减版的仿真下载器)好象全部公开了,提供了电路图和固件。  
该版本支持nuc1xx和m051,成本不超过50元,可以自己做的。采用了一片他们自己公司的nuc120re3an,也是m0架构的32位单片机,比m051高一个档次。
-----------------------------------------------------------------------
在http://www.nuvoton.com/nuvotonmoss/community/productinfo.aspx?tp_guid=403a9c50-52c2-4463-9057-2595190602c5
下载到;
点击此处下载  
-----------------------------------------------------------------------

你没有把所有的资料都看一遍,NuTiny-SDK-M051实际是2个系统,一个是M051的最小系统(M0516ZAN),另一个就是Nu-link-me v1.03。

全部的电路图在你贴上的第一个文件里。

但是你要使用这个Nu-link-me v1.03,就需要装一个驱动:NuMicro Keil uVision IDE driver (Build 4125) V1.03.zip,这样就可以在KEIL AMD下面支持使用了。

此外,新唐还提供了一个专用的ICP软件“NuMicro ICP Programming Tool (Build 4125) V1.03.zip”,当你安装好后,在安装目录下面可以找到:“ICE_ISP.bin”和“NUC1xx_ICE_M0.bin”2个文件,这两个应该就是固件了。

我开始在KEIL AMD中用Nu-link-me连接M051系统时,系统提示需要更新固件,我做了更新,马上就可以使用了。

查看了所有相关的资料和说明 Nu-link-me V1.03前面的版本是不支持M051的,1.03开始支持M051,所以前面版的就需要更新固件了。我估计“ICE_ISP.bin”和“NUC1xx_ICE_M0.bin”2个文件就应该是了。

Nu-link-me应该是Nu-link的减化版,上面两个文件在安装好”NuMicro Keil uVision IDE driver (Build 4125) V1.03.zip“后,在KEIL\arm\bin\nu_link\下面也能找到。既然KEIL下能更新固件,那么就应该是这2个DD。

ICE_ISP.bin应该是放在Nu-link-me使用的nuc120re3an的LDROM中,作用是支持对Nu-link-me本身的ISP下载。
而NUC1xx_ICE_M0.bin应该是放在nuc120re3an的APROM中的应用程序,它实现对其它芯片的下载和在线调试功能。

有了电路,有了这2个文件,一切还不OK吗?

我给出了思路,很快山寨版的DD就会出来了。其实专做山寨DD的里面有许多高手,他们比原公司一般的技术人员水平要高的多。至少我在玩STM32时就发现,山寨版的开发版就比ST原厂提供的好,功能强,外围多,还便宜(抱歉,此话会得罪许多人,不过事实是如此的)。

记得我在这里发布了德国人的AVR-IAP,那个采用USB口的简易AVR ISP下载器,没过几个月,网上就有人买类似的产品了。现在可以网上查一查,至少有10几家,10元左右。当然他们有些是自己改动过固件了,增加了功能,并且自己编写了上位机的支持软件,能力还是非常强的。


其实比较难突破的软件,我目前看到的M3、M0的DEMO或例程,不管是原厂,还是山寨的,还是什么书中的DEMO,都烂的不得了,没有多少实用价值(又得罪不少人)。

我们玩的叫“嵌入式”系统,它的一个特点就是“可剪裁”,这个“剪裁”包括硬件和软件。要能根据具体的产品,做到贴身的“剪裁”,那么你的手艺一定要高。

“裁缝”“裁缝”,光会缝不行,你永远是做小工的。要做到会“裁”,就需要更高的工夫了。

出0入0汤圆

发表于 2010-9-26 11:26:31 | 显示全部楼层
回复【156楼】Yaksa 解烟客
nxp公司 cortex m0 lpc1111fhn33/101 $0.65
开发工具: keil mdk         价格:中国特色
仿真器: colinkex           价格:免费


(原文件名:lpc1114_1700和16f883_stm32比较.gif)
引用图片
-----------------------------------------------------------------------

尽管属于广告,尽管阿莫多次强调不能发广告,尽管我也掌握者本讨论组的“生死”权(是AMO专给的),但我还是保留这个贴子。

因为它证明了我许多的观点:
1。M0架构的东西已经正式向8位的DD挑战了
2。M0架构的DD不是一个厂的DD,还会有更多M0架构的DD出来的,因此现在可以,或应该开始学习了。
3。如果你有条件学习NXP公司 Cortex M0,也是同样的。但注意这是个3V的系统,新唐的是5V。对于新手采用5V系统学习更“安全”些。

M0是ARM架构,是ARM公司的内核。但ARM公司自己不生产芯片,只是卖架构和内核。各厂家在这个内核架构上,增加自己的外围。

如同MCS-51,内核是INTEL的,这个内核的专利已经过期了,所以现在有很多的兼容51芯片,在原来的架构上,经过改进核增加功能,推出了比原MCS-51更好的“51”。STC的51就属于这种。

现在学校里基本还是学习标准的51,面对现在的“51”,其实也已经远远的落伍了。

出0入0汤圆

发表于 2010-9-26 14:46:04 | 显示全部楼层
回复【173楼】gamethink
建议马师傅直接跨过mo51,去研究stm32系列(注意是stm的)
目前想玩这个很多人,但是网上卖的开发板多地很,根本不知道哪个好点
有马师傅带头,必定能重现当初avr辉煌!
-----------------------------------------------------------------------

去年就玩过了STM32,我手上还有几十套学习版,有10套就是网上买的。ST送给我们15套。在STM32讨论组里有我开始的学习笔记。

我是从M3降到M0的,没有困难。现在只是在收集工具方面的资料,考虑是否能最简单,最方便的入门。

从M0开始学习32位最现实,即能把最根本的基础打好,也可以实际的使用。

出0入0汤圆

发表于 2010-9-26 15:11:53 | 显示全部楼层
回复【177楼】armok 阿莫
回复【173楼】gamethink  
建议马师傅直接跨过mo51,去研究stm32系列(注意是stm的)  
目前想玩这个很多人,但是网上卖的开发板多地很,根本不知道哪个好点  
有马师傅带头,必定能重现当初avr辉煌!
-----------------------------------------------------------------------
我对stm32在中国的未来一直比较悲观的。
一个明证是:目前深圳电子市场没有任何一家有现货的柜台销售stm8或stm32。这样的供货会非常脆弱的。
相比之下:avr在深圳电子市场有超过100个柜台有现货。
-----------------------------------------------------------------------

STM8和STM32,我都有开发版和工具的。


我学习使用这些DD,有两各目的:

1。教学。从这个角度出发,主要是考虑如何让学生能学到有用的东西和真正的技术,具备一定的能力,到社会上打拼。当然也要考虑选择哪个硬件平台更加合适,容易上手,便于实践、价格便宜等。我个人的选择是8位从AVR开始,32位从M0开始。尽管我自己会玩STM32,但我认为它不适合开始的学习,尤其对于本科阶段的学习。

2。开发。与一些公司合作,承接一些项目或产品的开发。对这个,我选择不是固定的,这就需要根据实际的东西和要求,考虑价格、生产等各种因素。51的也用、AVR的也用(最近AVR供货紧张,就将AVR变成51,一个月的时间就换过了,反正C的代码,移植方便),20PIN的、32PIN、44PIN、48PIN,选择最合适的。8位的不合适,就用32位。不会在一颗树上吊死的。

再次说明,我不是说让大家一定要使用M0或AVR什么的,只是借M0的推出,鼓励大家学习32位,学习点新的东西,提高自己的能力。至于使用什么在你的产品上,由你自己决定。

各种情况都会发生,一个公司的产品不做了,倒闭了是经常可能的。你需要有能力去应付这些,所以要多学点,深入点。

出0入0汤圆

发表于 2010-9-26 15:42:02 | 显示全部楼层
我没有说“AVR以死”,也没有说M0会统一天下,只是从学习的角度出发,鼓励大家应该注意学点新东西。

举个例子:标准51的T/C没有PWM功能,所以很多的老书都不说PWM的应用。而AVR,STM32、M051、甚至STC的51,其T/C都增加了PWM的功能。但你可以发现,就是在我的讨论组中,还有许多人采用定时中断,在中断中将一个I/O取反输出的方式。不是说这个不能产生PWM,而且也能满足一般的应用,但这不是最好的方法,浪费资源,效率底,而且PWM不精准。

比如马达控制,需要加死区时间,等等,在新的芯片上都是非常简单的事情(曾经看到网友说,哪家的电磁炉经常坏驱动块,可能就是这个问题没有考虑过)。

如果价格相当了,为什么还要用老的51?哪怕就是贵上1-2元,你开发设计上省出多少时间?

还拿PWM说事,就是你知道如何方便的产生PWM,那么对于产生一个100K的正弦波的话,具体应该选择PWM的频率应该如何选择?精度上如何达到要求,你的芯片能实现吗?系统时钟应该选择多少?在我另一个采用PWM做DA,放音频的讨论中,甚至有人还问PWM能做DA吗?这些都应该掌握和了解,到用的时候你就能拿的出来。否则又只能是什么“跪求”源码拉。

各位不要局限在AVR还是M0,我推荐的学习芯片在技术层面上不是落后的东西,也都是国内货,上手方便,不贵。上述这些条件都是具备的。

最重要的如何和怎样掌握真正的技术和能力。前面的好办,申请个样板,3天就能动了,后面的难,需要踏踏实实,常时间的积累。而且后面的学习,注意要学习好的思路和方法。一旦你接受了一个所谓的DEMO(比如,动不动就软件DELAY50ms),如果没有比较,你就永远成为杯具,思维方式被框在里面了。


至于是用AVR还是M051,都可以。你总要有个硬件平台支撑。

出0入0汤圆

发表于 2010-9-26 15:49:52 | 显示全部楼层
回复【181楼】sophy.lin
回复【172楼】gorgon meducer 傻孩子
给迷茫的人一个很诚恳的建议。其实什么单片机都差不多。如果一个单片机一段时间内都失去了  
实际生产上的意义,太执著于他,就是迂腐(如果语言多有得罪,还请原谅)。所以,看到好的  
芯片,就别犹豫……其实世上本没有路,走的人多了,也变成了路……
-----------------------------------------------------------------------
其实世上本没有路,走的人多了,也变成了路……  
让在下对这话有了更深一层的理解
说得很好
-----------------------------------------------------------------------

任何东西都是辨证的。当别人都走了,你再走,你还在前面吗?因为已经是路了。重要的是你是否认为这将来是条路,敢于先走,并且有能力走过去,因为此时还没有路。

出0入0汤圆

发表于 2010-9-27 01:33:52 | 显示全部楼层
楼上的唐先生:

我的学生(姓周)今天与你联系了关于申请样品和MO-SDK的事情,请给予支持。

我想了解的是,新唐是否已经推出了M0的ISP固件?如果有的话是否免费提供?如果免费提供的话能否贴在这里?我想这也是对学习和了解M0的朋友一个最大的支持吧。

我查过手上与M0相关的全部资料,没有发现这个DD。我准备设计一个类似M0-SDK的小板,插在我设计的AVR-51板(查看阿莫邮购部产品:http://www.mailshop.cn/product_list.jsp?kind=normal&class_id=3432&super_id=1024&view_kind=picture_list)上使用,这样实验板上所有的外围电路都能使用。

这样的话,不管是学习51、还是AVR、还是M051,通吃了。

为此,我需要了解和采取新唐官方MO的ISP方案,在小板上设计和留出接口。

先在此表示谢谢!
=======================================================================================
下图是AVR-51多功能板,设计的M0小板插在右边的40PIN锁紧座上,板上采用48PIN的M051,留出ISP口和调试接口,用插线连接需要使用的外围。


(原文件名:image_big_path_4451.jpg)

出0入0汤圆

发表于 2010-9-27 23:39:15 | 显示全部楼层
回复【210楼】1057045572 华邦-新唐掌门人
回复【195楼】machao  
-----------------------------------------------------------------------
你好!马老师,周同学已经给我电话了,样品和工具没问题的,如果你需要协助的地方,给我信息就好了。
还请你多多帮忙,给我们大家学习mo做指导,就像阿莫说的:建议马老师尽快写一本m051的入门书,带领我们网站快速进入m051新纪元!!
就这个问题“新唐是否已经推出了m0的isp固件?如果有的话是否免费提供?如果免费提供的话能否贴在这里?”我还需要跟确认下
才能回复你
-----------------------------------------------------------------------

谢谢了!

与AVR-51配合的MO51转换板的电路图基本完成,就等新唐的官方ISP下载的定义了,等待中......

是否写书,是下一步的安排,看情况再说,因为这个不是一天二天的工夫,需要花费大量的时间和精力。

但不管怎样,先要有东西能玩起来,新唐的那个Un-SDK-MO52仅是一个最小系统,什么外围也没有,送给我的那个,连唯一的外围 LED+R 都没有焊上。

还有就是工具的问题,估计新唐M051的ISP方案推出还需要点时间,好象是委托给国内某个合作伙伴了吧,真是如此的话有点信不过。


草图,通过2个20PIN转到AVR-51左面的插51的锁紧座上。


(原文件名:m051.jpg)

出0入0汤圆

发表于 2010-9-28 12:43:23 | 显示全部楼层
有jlink是可以的,但却要“废掉”SWD的两个I/O口。而且JLINK也比较贵,UN-LINK-me相对便宜点。
在219楼的图中,我已经留出SDW口了,JLINK、UN-LINK-ME都可以接入。

ISP是另外的方式,它只能实现下载代码,不能做调试。ISP基本不需要什么硬件,直接用PC的COM口 + 一个RS232到TTL的电平转换就可以了。

实际M051的ISP方案是可以自己实现的,用户可以编写自己的一个BOOTLOAD代码,把它烧在LDROM中,设置上电从LDROM开始执行就可以了。这段代码从UART接受命令和数据(用户应用执行代码),把它写到APROM中,然后跳到APROM执行。

这个功能AVR也是有的,AVR的BOOTLOAD就是做这个用的,AVR M128的BOOTLOAD我也做过。

所以要等新唐的ISP固件,是想我们的DD应该与官方的兼容,不需要自己另起一套的,这样你不需要编写上位机的软件,而且可以跟着官方同步更新的。

作为ISP的固件,新唐应该没有什么需要“保密”的,应该作为工具免费的提供的,这样才能让更多人方便使用ISP。

ICE我基本是不用的,AVR的ICE我有好几个,但从来不用(教学和培训中的演示除外),就是简单的ISP。最近做AVR读SD卡放WAVE文件的播放器,用了ICE,但也不是用于调试,而也只是是下载代码,因为SD卡占用SPI接口,与ISP冲突,下载不方便的。

使用ISP的优点是不会“费掉”I/O口。

出0入0汤圆

发表于 2010-9-29 00:48:57 | 显示全部楼层
51也可以用C++,用了C++就难了,不用C++就容易吗?

那么开发M051,可以根本不用C++。够“简单”吧。

出0入0汤圆

发表于 2010-9-29 12:33:20 | 显示全部楼层
【241楼】 X-Hawk :看来你比较熟悉这个系列的芯片和工具了。顺便问一下m051的ISP固件出来了吗?

出0入0汤圆

发表于 2010-9-30 12:51:13 | 显示全部楼层
回复【244楼】X-Hawk
回复【242楼】machao   
m051的isp固件出来了吗?
-----------------------------------------------------------------------
出来了,有人在用,但是网上没看到。
网络首发在这里:
isp工具(windows app) (原文件名:isp_tool_v1.08.zip)  
m051 isp(含source) (原文件名:m05x.zip)  

-----------------------------------------------------------------------

谢谢!
第一个文件是官方的,官站上有,我已经下了。第2个好象不是官方的,或不是正式的东西,没有使用介绍。

出0入0汤圆

发表于 2010-9-30 21:24:17 | 显示全部楼层
关于ISP、IAP、(ICP)的解释

先介绍比较正规或学术角度的概念。

    ISP==》在系统可编程。意思是不需要把芯片从系统上取下就可以下载代码。这是一个非常大的技术进步,对于标准的mcs-51,比如89C51,要将芯片从系统上拿下来,放到专门的编程器上才行(这种方式称为并行高压编程,需要离线,即把芯片从系统上取下,放到专门的编程器上才行)。


上面的ISP还是一个大的概念。现在由于实现的方法不同,出现了ISP(这个ISP是小概念或小范围的ISP)、IAP、ICP的等技术术语,他们之间还是有些差别的,而且厂家给出的定义也不统一,但都能实现不把芯片从系统上取下就可以下载代码。

AVR,如M16,支持并行高压编程、ISP(通过SPI口)、ISP(通过JTAG口,支持在片调试)、IAP(BOOTLOAD方式),四种方式。
M051支持ISP(bootload方式)和ICP(通过CWD口,支持在片调试) 

出0入0汤圆

发表于 2010-10-1 00:10:00 | 显示全部楼层
回复【252楼】gamethink
回复【250楼】ifree64   
一个疑问:
貌似现在较新的单片机的isp都采用片内集成一个bootloader的固件来实现,avr的isp也是如此实现的吗(我知道avr也可以实现bootloader,但avr通常用的isp没听说在芯片里有一个bootloader)
-----------------------------------------------------------------------
确实,硬件实现,就是说无论你怎么误操作,只要不禁止isp,或者复位脚等“野蛮”行为,isp照样可以用
另外有些比如nxp的51系列,直接用串口+复位按钮就可以isp,实际上就是bootload
记得以前刚用,不习惯,在ispAVR软件搞坏了boot区,后来拿去周功那里重新写boot区程序又可以了
-----------------------------------------------------------------------

使用所谓BOOTLOADER的方法实现代码的下载,AVR叫IAP(在应用可编程),而其它的如M051、STC、周等51却称为ISP。
使用所谓BOOTLOADER的方法,其实是MCU处在正常工作执行代码的运行状态,通过执行BOOTLOADER,读取数据,更改另一段FLASH中的内容(代码)。MCU是主动的。


AVR支持代码下载的方式比其它的多,灵活型强,给了工程师更多的选择和空间去发挥。

出0入0汤圆

发表于 2010-10-1 00:19:15 | 显示全部楼层
回复【260楼】armok 阿莫
回复【257楼】tbbt  
想当初学硬件就是从马老师的avr开发板开始的,好回念当时的情景,这次继续期待马老师的大作
-----------------------------------------------------------------------
我们网站的邮购部,也是从发行马老师的实验板开始。
记得那时我只是在家里办公,招了两个亲戚帮手,晚晚加班发货到深夜3点 ....

-----------------------------------------------------------------------

现在都大有发展了,记得有机会请我喝酒。

出0入0汤圆

发表于 2010-10-1 00:30:22 | 显示全部楼层
回复【244楼】X-Hawk
回复【242楼】machao   
m051的isp固件出来了吗?
-----------------------------------------------------------------------
出来了,有人在用,但是网上没看到。
网络首发在这里:
isp工具(windows app) (原文件名:isp_tool_v1.08.zip)  
m051 isp(含source) (原文件名:m05x.zip)  

-----------------------------------------------------------------------

再次询问:

刚才仔细看了文件。第一个是官方的DD,但看了里面配置的INI文件,没有M051的配置(大家解开ZIP就可以查看了,是文本文件)

第2个好象是为M051写的,因为我发现有INCLUDE “M051.H”的指令,但其它可以明显证明东西没有看到。

2个文件都没有使用介绍或说明,官站的第一文件包中还有使用介绍,X-Hawk 贴上的却都没有。

M051没有USB,估计是通过UART口实现ISP的,但是PC的COM口是不能对接的,因为电平需要转换。官站的第一文件包中使用介绍说要一块51的WRITE板,我没找到关于WRITE板的具体资料,估计是做电平转换的。

请问,这是新唐正式、或推荐的,或还在调试中的DD,还是某个朋友自己编写的?

出0入0汤圆

发表于 2010-10-8 23:19:35 | 显示全部楼层
回复【272楼】X-Hawk
回复【242楼】machao   
m051的isp固件出来了吗?  
-----------------------------------------------------------------------  
请问,这是新唐正式、或推荐的,或还在调试中的dd,还是某个朋友自己编写的?
-----------------------------------------------------------------------
马老师您好,这两个文件是我向isp固件的 "始作俑者" 直接要过来的。
附件中的isp程序通过串口进行,所以连接到电脑,需要rs232。
isp固件以后会含源代码代码发布。
nuc100系列和m051系列的windows isp程序,使用同一个程序。
目前了解到就这些了。
文档、windows程序关于m051有没特殊的地方、正式版何时上网等,......
-----------------------------------------------------------------------

谢谢你的帮助。
由于没有任何说明,只能自己做测试了。应该对M051做设置,RESET后从LDROM开始执行;还需要一个RS232/UART的电平转换电路...

顺便问一下,这个isp固件的 "始作俑者"应该是新唐的高手了吧,是TW工程师吗?

出0入0汤圆

发表于 2010-10-11 19:36:11 | 显示全部楼层
配合AVR-51多功能实验板的M051转接板设计完成,贴上大家看看:

(原文件名:未标题-2 拷贝.jpg)

AVR-51多功能实验板的图片在195楼,MO51转接板原理图见219楼。

将上面图中的MO51转接板插在AVR-51多功能实验板左边的40芯锁紧座上,就可以全部利用AVR-51多功能实验板的外围学习M051了。

如果使用ISP方案,AVR-51多功能实验板上有与PC机RS232的接口和电平转换电路,这样可以非常方便的下载程序(软件等待官方正式推出)

如果需要实现在线调试,还需要购买官方的Nu-Link-Me(根据官方提供的资料,也可以自己制作)。

有了硬件平台,才能实实在在的开始学习M051。

出0入0汤圆

发表于 2010-10-11 20:24:43 | 显示全部楼层
谢谢楼上提醒,这个部分忘记调整了。下面是调整后的。

(原文件名:未标题-2 拷贝.jpg)


说明:这个转接板的电路是参考官方的M051-TINY-EVB评估板的电路设计的。

出0入0汤圆

发表于 2010-10-11 20:55:48 | 显示全部楼层
回复【292楼】xorX
顶,avr-51多功能实验板要升值了,呵呵
-----------------------------------------------------------------------

avr-51多功能实验板实际本身就非常有价值的,只要是40脚DIP以下的任何MCU都能在这块板上做实验的(当然编程器需要另外准备),所以它是“万能”MCU实验开发板。

它也是数字逻辑实验板,一般的TTL数字逻辑电路实验和测试都可以在它上面完成的。

这是一块真正能锻炼和提高电子工程师实际动手和应用能力的硬件平台,也是真正能培养电子工程师创新能力的起步学习平台。

实际上大部分学校的老师是不敢使用这块板的。因为它需要老师有真正的水平,能很快发现学生的错误,尤其是硬件连接错误。更重要的是,对于某个设计,由于各个学生硬件连接方式的不同,软件的设计也是不同的,一旦出现问题,教师要全面帮助你找出问题和解决办法。而这种能力不是读书能读到的。

出0入0汤圆

发表于 2010-10-11 21:23:20 | 显示全部楼层
回复【288楼】1057045572 华邦-新唐代理
最近会陆续到一些开发工具和样品,就目前收到的申请单来看,工具非常的紧张,公司会做一个审核,根据大家的需求一一给到大家,大家拿到工具的过程可能会有先后,还希望大家多多理解和支持。如果有jlink等相关工具的朋友,可以先拿样品过去试用。欢迎电话咨询!
-----------------------------------------------------------------------

能尽快给10片M0516的样片吗?准备测试我的M051转接板。

出0入0汤圆

发表于 2010-10-11 21:24:01 | 显示全部楼层
阿莫:没经过您的许可,在我设计的M051转接板上打上了本站的地址,如果你公司现在没有精力做这些小DD,我会另行处理的。

出0入0汤圆

发表于 2010-10-11 22:06:53 | 显示全部楼层
回复【298楼】windy__xp 龙笑
回复【297楼】machao  
阿莫:没经过您的许可,在我设计的m051转接板上打上了本站的地址,如果你公司现在没有精力做这些小dd,我会另行处理的。
-----------------------------------------------------------------------
   马老师,域名是 .cn 的,不是 .com。关注m0,据说不久的将来st也会出m0的芯片了,等待。
-----------------------------------------------------------------------

谢谢。我测试了一下,还真有WWW.OURAVR.COM这个站,不过06年的页面,信息是:

Update coming VERY soon!
Please check back.
Thanks, Chris.
11/25/06

有意思。看来这个Chris正在等待阿莫从他那里购买这个域名。

出0入0汤圆

发表于 2010-10-12 18:48:23 | 显示全部楼层
回复楼上:

谢谢你提供的第一手资料。
===========================================
看看我在【136楼】的贴子:

采用icp方式检查过了,目前m051芯片中ldrom中是空的,因此还不能实现isp。
看过官方关于isp的资料,好象针对m051的isp固件还没有公布?都是nuc1xx系列的。
-----------------------------------------------------------------------

我在136楼就指出了M051的ISP没有公布。当时看的1.08版本的isp windows程序,里面的INI文件根本就没有M051的配置。这个1.20版本的isp windows程序的确已经加上了。

另外那个说明文件的内容还是老的,解释的不是非常清晰,一般的人还是弄不明白的。

我查看了X-Hawk前面贴上的ISP固件源代码,估计上电前需要把M051的P3.2接地,才能首先执行LDROM的程序。看来这个东西还在调试当中。

不过问题已经不大了。我转接板已经设计好了,配合AVR-51板可以比较方便的实现不同的连接和跳线,所以我会做些测试的。

管方站上还是1.08版的ISP。

出0入0汤圆

发表于 2010-10-12 20:54:24 | 显示全部楼层
回复【309楼】X-Hawk
回复【242楼】machao     
顺便问一下,这个isp固件的 "始作俑者"应该是新唐的高手了吧,是tw工程师吗?
-----------------------------------------------------------------------
马老师,抱歉这两天来迟了。。
高手就是咱这美女经理miss于了,呵呵~
刚才就isp工具的疑问,再次找到更新:
1. 前面发的1.08版本的isp windows程序, 是给nuc100系列用的;
2. 前面发的isp固件,是给m051系列用的;
3. 新发一个1.20版本的isp windows程序, 同时支持nuc100和m051系列。
4. 新发一个isp application note, 介绍isp程序使用命令接口和格式。
   一共有通过usb, uart, spi 和 i2c进行四种接口工作的is......
-----------------------------------------------------------------------

采用你提供的新的PC上1.20版本的isp windows程序,配合前面发的isp固件,利用我的M051板做了测试,可是不成功。我的做法是:

1。使用ICP方式,先将ISP.BIN(在你发的固件包中的文件,我直接使用的)写入到M0516LAN的LDROM中。显示成功写入。

    在ICP中的具体设置:装入LDROM文件为ISP.bin;使用内部RC 22M时钟;启动选择LDROM;选择时钟滤波使能。以上显示配置值为0xFCFFFF7F

2。设置手提电脑的COM1口(采用USB转COM方式得到的RS232口)波特率为115200bps/8/NO/1

3。将RS232口与一个MAX232电平转换电路连接,将TTL端的RXD/TXD与M0516LAN的RXD/TXD(P3.0/P3.1)连接,将M0516LAN的P3.2接地。

4。打开1.20版本的isp,选择COM连接,但一直显示超时和连接失败。

不知道是那里出了问题。

我查看一些相关资料,说是ISP是需要一块8051做的ISP下载器(见下文,从1.20的 NUVOTON NUMICRO ISP PROGRAMMER USERGUIDE中摘录的)

--------------------------------------------------------------
2.3 Supports connected com ports automatic

Step1: Nuvoton 8051 writer board has connected PC and power on it.

Step2: Start to run Nuvoton NuMicro ISP Programmer AP.

------------------------------------------------------------------
3.2 Hardware installation
3.2.1 UART

Step1: Plug the power adapter into the power connector of the Nuvoton NuMicro ISP Programmer board
Step2: The RS232 cable is connected to PC and Nuvoton NuMicro ISP Programmer board
Step3: To Press SW2 button for booting from LDROM

请问:这个“Nuvoton NuMicro ISP Programmer board”是什么东西?它与目标芯片是如何连接的?

麻烦你再问一下,或给个高手的电话也可以。谢谢了!

我测试的连接方法参照下图,该图是新唐针对8051的ISP DEMO BOARD图。 我只是将图中的8051换成M0516LAN,将P3.2接地,另外没有控制RESET。


(原文件名:未标题-1 拷贝.jpg)

出0入0汤圆

发表于 2010-10-12 22:17:25 | 显示全部楼层
彻底搞笑!

PC上我采用老的版本的exe(1.08版本的isp)文件,配合使用新版下的(1.20版本的isp ) config.ini文件,到是打通了ISP,并且能够下载程序了。

采用ISP方式,下载一个点亮LED的演示代码,成功了!

总结一下:

1。使用ICP方式,先将ISP.BIN(在上面发的固件包中的文件,我直接使用的)写入到M0516LAN的LDROM中。显示成功写入。

    在ICP中的具体设置:装入LDROM文件为ISP.bin;使用内部RC 22M时钟;启动选择LDROM;选择时钟滤波使能。以上显示配置值为0xFCFFFF7F

2。将RS232口与一个MAX232电平转换电路连接,将MAX232的TTL输出端的RXD/TXD与M0516LAN的RXD/TXD(P3.0/P3.1)连接,将M0516LAN的P3.2接地。

3。PC上使用1.08版的EXE,把1.20版的config.ini替代掉原来的。

4。打开1.08版本的isp,选择COM连接,OK 了!


以上工作是用NU-M051板配合我的AVR-51板上实现的,我设计的AVR-51板上有RS232转UART电路,可以非常方便的实现ISP。

这样我的M051转换板可以下板制作了。

手上如果有AVR-51多功能实验开发板,配合这个M051转换板,就可以学习使用M051了。条件是,M051必须先写入ISP的bootloader代码。缺点是不能实现在片的DEBUG。

如果手上有NU-LINK-ME,工具就完备了。这个NU-LINK-ME也是可以自己做的,成本应该在20-30元之间,新唐已经提供了全部的资料(见我上面的帖子)。

哈哈,一套非常便宜的学习32位ARM M0的环境。

出0入0汤圆

发表于 2010-10-12 22:53:44 | 显示全部楼层
阿莫先生在吗?

是你把我重新挑出山的。

现在我已经设计和建立了一套最简便和实用的学习M051的环境:实验板有了(是原来的),ISP编程器也有了(这个是不化钱的),只需要做个小转换板。当然要做UN-LINK-ME也是可以考虑的。

下一步你准备如何计划安排?

你有资格和条件与新唐去谈合作了,我做你的技术顾问。

出0入0汤圆

发表于 2010-10-12 23:21:44 | 显示全部楼层
回复【315楼】X-Hawk
这个。。太超乎人的想象了!冒汗中。。

-----------------------------------------------------------------------
这个非常正常,你可能现在能明白点我为什么曾经问你:“这个isp固件的 "始作俑者"应该是新唐的高手了吧,是TW工程师吗”的含义了。

去年,ST公司送我15套STM32的学习板,我发现了此板上的BUG。ST公司说是国内工程师设计的。在STM32的讨论组里,我贴出了关于这个BUG的帖子,受到不少人的攻击,表示不满。

前年玩CYPRESS公司的PSOC,也发现了不少BUG,与该公司国外工程师讨论了3个月(国内根本没有深层次的技术支持),才给出了补丁。该公司国内某个上层还亲自打电话给我,让我不要在网上讨论这些BUG,见(PSoC(Cypress)可编程片上系统技术讨论区相关帖子)。

出0入0汤圆

发表于 2010-10-12 23:47:15 | 显示全部楼层
回复【319楼】ifree64

1、你说40脚dip以下的任何mcu都能在这块板上做实验,但不同mcu的引脚排列是不一样的,你的板子上只有2个万能插槽,一个按照51的一个按照ATmega16的引脚排列,难道电源、地线等都没有接到插槽对应的引脚上去吗,都要用杜邦线去连接?

是的。2个万能插槽实际40个PIN都是独立的。对于51和AVR,为了方便,旁边使用了短路片。其它的MCU需要杜邦线连接。


2、板子上左下角类似万能板的部分,如何高效重复使用?像万能板一样的用法,焊一次不就没用了?

见195楼图,最左边是2个窄的20PIN插座,旁边各有3排对应的插针,DIP的芯片可以插上去,用杜邦线连接。

另外板上的2个万能插槽,一般是使用一个放MCU,另外一个也可以放上其它的芯片。如果是不多的分列器件,如电容、电阻、二极管、三极管等,也可以使用这个万能插座,不一定非要焊接。

如果你要学习和测试两个MCU通过I2C、SPI、UART口通信,使用一块板就可以了。2个万能插槽各查一片MCU,多方便?

当然,左下角还是留出了一点万能板的地方做备用,但你可以翻过来看一下,决不是焊一次就不能用的。正常的焊上和拆下,十次八次应该没有问题(这里主要不是让你焊DIP芯片的,DIP芯片用插座或插槽)。

出0入0汤圆

发表于 2010-10-12 23:49:05 | 显示全部楼层
回复【318楼】yanghc

-----------------------------------------------------------------------

真是来自昆明的PLMM吗?女生学这个可是非常吃力的。

出0入0汤圆

发表于 2010-10-13 14:57:07 | 显示全部楼层
回复【309楼】X-Hawk

马老师,抱歉这两天来迟了。。
高手就是咱这美女经理miss于了,呵呵~
刚才就isp工具的疑问,再次找到更新:
1. 前面发的1.08版本的isp windows程序, 是给nuc100系列用的;
2. 前面发的isp固件,是给m051系列用的;
3. 新发一个1.20版本的isp windows程序, 同时支持nuc100和m051系列。
4. 新发一个isp application note, 介绍isp程序使用命令接口和格式。
   一共有通过usb, uart, spi 和 i2c进行四种接口工作的is......

============================================================
能否反映到新唐公司,为什么PC上的ICP软件有中文菜单提示(语言可选择),而ISP软件却是纯英文的。

出0入0汤圆

发表于 2010-10-13 21:46:49 | 显示全部楼层
回复【331楼】X-Hawk
回复【326楼】machao   
能否反映到新唐公司,为什么pc上的icp软件有中文菜单提示(语言可选择),而isp软件却是纯英文的。
-----------------------------------------------------------------------
好,会反映的。
这个问题是因为icp考虑到给量产工人烧录芯片用,isp更多的站在开发人员的立场。


-----------------------------------------------------------------------

这个到不一定。我帮助设计的所有实际的产品(批量生产的),工人烧片子都是用脱机的编程器,此时根本与PC无关了。对于M051讲,ICP,ISP都可以实现。关键是不要浪费I/O口或少用I/O口。

另外国内许多工程师的E文是不过关的,看到E文就头大了。这里不是指他们本身的E文不行,根本在于专业基础和知识的缺乏,中文的技术资料和描述都看不懂,就不要说E文了。

请你查看我N年前贴上的AVR STUDIO的中文HELP,有多少人下载!尽管现在版本已经更新多次了,可下载还是还络绎不决。新唐是TW的公司,相比其他国家的公司,编写个中文界面更是轻而易举的事。另外,官站上许多资料还是只有E文的。从这点说明,公司还是在国内缺乏优秀的工程师的。因为一般的工程师是做不了,也翻不好这些技术文档的。


回sde_arm9:

这个P3.2接地是我看原代码以及其它资料判断出的。其实这个办法比较傻,弄不好还可能造成浪费一个I/O口线。其实上电后执行的LDROM代码,可以采用延时的方法,比如上电后15秒内收不到PC下发的ISP命令则自动转入APROM执行。

这个LD固件代码可以自己写的。

出0入0汤圆

发表于 2010-10-13 23:52:05 | 显示全部楼层
回复【344楼】CoolBird007
感谢楼上解答,我非常关注这款芯片。
1、出厂烧好bootloander的m051芯片的开发板  
是不是新买的芯片都已经有bootloader程序的呢??
-----------------------------------------------------------------------

目前没有。你掌握AVR吗?M051的ISP同AVR的IAP(BOOTLOAER)技术是相同的道理。
到目前为止,我还没有发现比AVR晚推出的MCU,有哪个其“被编程”的方式比AVR多。

出0入0汤圆

发表于 2010-10-14 01:55:38 | 显示全部楼层
回复【346楼】ifree64

LPC2000系列的ISP也是采用的上电后执行Bootloader,Bootloader判断P0.14是否为低电平,若是就进入ISP,若否就跳转到用户程序执行。
如果采用延时的方法,比如延时15秒内……,这岂不是要造成我的用户程序要等15秒才能够得到执行机会,这不太妥当吧。
LPC2000的AppNote中介绍了一个用RS232的握手信号来自动得到复位和P0.14的低电平的电路,我觉得这里也可同样借鉴。这样就不用老是麻烦的
每次下载程序先用跳线将P3.2接地,要执行用户程序又要吧短路子拔掉的笨办法了。

-----------------------------------------------------------------------
【348楼】 X-Hawk

串口ISP, 用延时不错的办法呢。
不需要真的延很久,只要PC软件先布置好埋伏,尝试打开串口并收发。
板子的isp一进入,稍微探测下又没人来连就可以了。时间可以断到被人忽略。,

这个办法,应用到USB实现的ISP有问题。
新的USB连上windows, 通常需要很长的时间装驱动,具体多久还很难预估。没办法预先“布置埋伏”。

好在M051没有USB,也不需要考虑那么多。
==============================================================================================

    有了ldrom为实现ISP提供了条件,具体怎么实现就看个人的本事和能力了。官方给出的只是一个DEMO,并不一定是十分完美的。有能力的工程师可以根据需要实现自己的ISP方式,比如通过I2C、SPI、甚至是普通的I/O口。不过此时,就需要自己指定一套规程,在写自己的固件的同时,还要设计专用的上位编程机并编写软件。

     利用UART或USB是比较常用的,因为PC上有COM口和USB口,这样上位编程机就是现成的,只要编写软件就可以了。

   我在前面已经提到,在实际的使用中实现ISP要尽量少用I/O口,另外还要考虑作为ISP使用的I/O口,在AP程序中可能要做其它用途等,总不能这两个I/O口只为ISP专用吧。

   ifree64提的“用RS232的握手信号来自动得到复位和P0.14的低电平的电路”我是不会采用的。这样需要做一个全功能RS232转UART的电路,另外还要控制4根线(RXD,TXD,RESET,P0.14),要考虑3个I/O口复用的问题,硬件上麻烦多了。

   我提到的15秒只是做个假定和比如。这个只是建立在原来新唐的ISP软件基础上,因为我在测试中,点击连接按钮,大约10多秒后在PC上跳出超时的提示,此时PC应该不再下发指令了。实际上可以通过另外一台PC的COM口接受ISP的指令,看它连接过程中下发的起始指令的间隔是多少,通常1秒内应该有个几十次吧。因此固件等待时间1、2秒就够了,甚至还可以更短。这个其实是双方配合的问题,很好实现。

   至于USB也是没有任何问题的。当一个USB设备插到PC后,PC要马上下发一连串的数据包实现枚举过程==》了解这个USB是什么设备,然后PC才是装驱动,要装与这个设备相符合的设备。USB的数据包规定是1ms一个。

   我都想不通为什么新唐推出的ISP方案要多用一个I/O接地(包括51、UNC100系列)。ZLG、STC的51也都是用UART口实现ISP,只要RXD和TXD就可以了,只不过这个固件是已经固化在芯片中的。建议新唐的工程师也要多了解和学习别人的东西,把优点吸收过来。

出0入0汤圆

发表于 2010-10-14 10:39:07 | 显示全部楼层
回复【352楼】ifree64
stc的51虽然只用rxd和txd就可以isp了,但每次都得冷启动,而且还挑usb转uart的线,用起来也是不厌其烦。
-----------------------------------------------------------------------

冷启动后才能进入ISP模式这是正常的,也符合逻辑。通常已经运行了AP程序是不在进入ISP了,因为可能在AP中TXD/RXD只是作为普通的I/O用。

STC的问题不在于挑线,而是它缺省的开始是使用内部RC,而内部RC的频率误差太大,造成UART的BPS误差大,通信连不上。你如果第一次写入,设置成下次启动使用外部晶振11.0592m,那么后面可能就不挑线了。

出0入0汤圆

发表于 2010-10-14 12:07:23 | 显示全部楼层
回复【353楼】X-Hawk
感谢马老师的指导,真的很具体,也很实用!串口这样做一定能达到目的。
对usb还是有一点疑虑:
试想应用是个usb读卡器。
刚插入枚举的时候,告诉windows是个读卡器,还是isp处理程序比较好呢?
如果告诉是isp处理程序,
isp固件要等windows枚举做完,驱动装好,发现没有人连过来做isp,再reboot应用程序当usb读卡器用。
这样用户就不太爽。
-----------------------------------------------------------------------

这是个矛盾,USB比较复杂,我只是考虑I/O口复用,忽略考虑USB内部接口功能的复用情况。
看来,简单的处理方法还是使用一个i/o口线做选择的好。

出0入0汤圆

发表于 2010-10-14 12:39:51 | 显示全部楼层
回复【356楼】Gorgon Meducer 傻孩子
枚举成hub,然后虚拟连接2个设备上去咯……
-----------------------------------------------------------------------

这个方法理论上成立的。但可能LDROM的空间可能不够。还有另外的问题,这个USB HUB + USB ISP + USB write(或其它)的结合,大大增加了软件编写的难度(包括LD 和 AP,如何配合等),另外代码量增加,占用了太多的资源。

综合考虑,还是使用一个I/O口的方便。

其实在上电后,执行LD代码:判断某规定I/O的电平,为高执行AP,为低执行ISP就可以了。

出0入0汤圆

发表于 2010-10-15 15:45:53 | 显示全部楼层
回复【360楼】YL_L
-----------------------------------------------------------------------
未见阿莫老大的回复,十分期待马老师的转换板及un-link-me!
真诚期待向马老师学习!
-----------------------------------------------------------------------

现在不要打扰莫先生,目前他在忙着打官司和找保镖。因为有人要“做掉”他:)

转换板我自己会先做几块的,自己要玩的。尽管手上有楼上PP中的东西,但还不行,因为那个DD什么外围也没有,给我的那块连唯一的一个I/O可驱动的LED都没有装上去。

至于un-link-me我不会做的,尽管我已经找到了全部的制作方案和资料,但不靠这个小东西吃饭。

un-link-me要看新唐准备如何提供这个工具了。

1。最好新唐公司,或下面的代理能自己做或委托其它公司制作,作为官方工具适当收费提供大家使用。但不能太贵,靠它赚钱。公司应该靠芯片的量赚钱(这里主要是看到上面贴子中说有1W的脱机编程器,所以多哆嗦了)。

2。如果芯片有一定的市场,而官方工具太贵的话,会有人做山寨版的。就像AVR的USB-ISP、USB-ASP之类的东西,德国人开源的东西,国内和国外很多人拿它做产品。

出0入0汤圆

发表于 2010-10-15 16:20:41 | 显示全部楼层
150多了点,50-80就可以了。单指nu-link-me。

出0入0汤圆

发表于 2010-10-16 21:29:52 | 显示全部楼层
回复【368楼】hotpower 菜农
马潮老师,您好!
俺认为nxp的p0.14(ispen)的思路是对的和合理的。
这样pc机的串口dtr,rts分别控制reset和ispen,
非常合理。
-----------------------------------------------------------------------

欢迎!欢迎!欢迎!

这样处理肯定是可行的,就是不控制RESET也可以。在我的测试实验过程中就没有使用RESET控制。

但是合理不合理,每个人理解和看法不同。我个人认为要方便与适合生产。

1。首先考虑批量生产的过程。
   m051的封装没有DIP的,是贴片的,而且是小间距的(注意:不是TQFP,是LQFP)的。那么新购买的芯片如果是先烧代码再装到PCB上就需要拆包装,烧代码,然后重新包装....这样给上贴片流水线带来许多麻烦。所以,买来的芯片就直接贴上去了。

2。如果先烧代码再上贴片流水线的话,那么此时ICP,以及任何方式的ISP也无所谓。但是我们还要考虑系统的更新,此时总不能把芯片再从板上取下来吧。所以条件是必须能实现在板的下载。

3。当芯片贴到PCB上后,就面临如何烧代码了。当然ISP了!按你的合理方法要控制4根线,其中3根是I/O口线。很明显,多一根线肯定给PCB的布板带来许多麻烦。但这还不是关键的。更需要考虑的是这些ISP时要使用的I/O口复用的问题。
   现在的MCU,配备了更多的RAM、EEPROM,基本资源不需要外部扩展了(就是不够,换高一层次的型号,引脚是一样的)。另外,作为一个产品,硬件的成本是实在和看的见的。所以要尽量少用外围,最好就是一片MCU解决问题。所以到是会经常出现I/O线不够的情况。ISP需要使用RXD、TXD,这2个是死的,在加上一个I/O。当这些I/O在系统中必须要使用,而且做其它的用途时(比如系统本身不需要UART通信,RXD/TXD用做一般的I/O口,那么在电路设计的时候,就要考虑如何复用和隔离,使ISP与系统正常使用都不受影响。

4。通常我们使用UART与PC的COM通信,都是简易3线方式。如果dtr,rts,不但增加的步线,而且MAX232还不能用。因为MAX232是2进2出,为了这个ISP,需要3进1出。成本也增加了。

5。实际上,在产品生产阶段,烧程序的并不是工程师,而是一个一般的技术员或者就是农村的打工妹(工程师应该做工程师应该做的事情,不是做这些重复的机械劳动)。让他们烧代码用PC机绝对是不明智的,最好使用脱机编程器。

    工程师将脱机编程器配置准备好,交给烧写的人员。然后告诉他,插上连线,开电源,按哪个键,看到绿灯亮,就OK了。如果你说,要把这3个跳片拿到,然后再插上....增加了出问题的概率,比如你会发现一块不工作的板,主要是只有2个跳片,另外的一个不见了。因此,这个ISP的过程越傻瓜,就越人性化,生产上也越简单。节省时间,效率提高,对编程人员的要求也不高(少发工资)。

=====================================================================
    以上是我的经验。记得10年前用AVR帮助一个公司设计的产品。开始就是交给编程人员(初中毕业的MM)用PC,经常发生各种可笑的问题。PC机开不起来,有病毒了,你都要帮她解决。后来500元买的双龙的脱机编程器,皆大欢喜,省了不少事情。后来该公司光脱机编程器就买了几十个。

    一旦系统代码要革新了,派一个普通的维修人员出去,就只要带一个编程器,插上接头,打开电源,OK!你要叫他还要什么跳线,接地....罗嗦一堆,那就等着修坏掉的板子吧。要知道,板子装是在机器上的,插个插头有时候都不方便,你还要跳线什么的。

======================================================================
最后分析M051。

MO51支持ICP。有官方的ICP脱机工具。需要占用三根线TICEDAT、TICEDCLK、RESET。
M051支持ISP。目前还没有支持ISP的脱机工具。应该可以做到占用2根线RXD、TXD。目前LDROM还是空的。

出0入0汤圆

发表于 2010-10-17 12:35:27 | 显示全部楼层
回复【376楼】bluefeel 郁闷感觉

(原文件名:QQ截图未命名.jpg)
-----------------------------------------------------------------------

我拿到的也是如此,唯一一个最简单的外设,“一个限流电阻 + LED”都省掉了。

新唐的这个DD左边只是一个最小的M051系统板,有价值的是右边的NU-LINK-ME。所以我设计一个转换板,这样配合AVR-51实验板,加上NU-LIKE-ME就可以了。

该转换板已经去做板了。先做20块,用于测试。

出0入0汤圆

发表于 2010-10-17 13:07:43 | 显示全部楼层
回复【377楼】hotpower 菜农
回复374楼:
马潮教授,好久没上您的夜校了…
近日俺也想用华邦的产品,准备先用nuc120,以后考虑用m051。
您考虑的问题俺也在考虑。
就isp进入的问题,ispen(p3.2?nuc1xx是pb.15)=0是进入isp状态的条件之一。若加reset您说max232口线不够,实际上可以加一片74hc123来产生2个信号的时序。
我在2 1 ic上有贴图,这里不让看,
俺现在是手机无法上传。
量产是个最大的问题,俺用lpc21xx的isp感觉确实不错,还有现在的lpc11xx。

-----------------------------------------------------------------------

UNC120的官方提供ISP方案是USB和UART,M50是UART。考虑实际应用,我还是认为UART更加合适。因为USB口的复用问题比较麻烦,UART比较容易。掌握了UART,UCN120和M051都可以用。

M051的UART实现ISP我已经测试过了,不用控制RESET。当需要ISP时,关掉系统电源在打开就可以了。关于P3.2的ispen是我看源码分析出的,因为这个M051的ISP还没有正式发布,没有具体的使用介绍。但是有了ISP固件源码,对它做稍微的改动,这个ISPEN也是可以省掉的。这个应该是没有问题的。

主要是一般的工程师可能没有这样的能力改动ISP固件源码,所以我提出此问题是希望新唐的工程师能考虑。

至于你的图我已经看了。我想我在上面已经解释过了。在PCB上多画1根线就是多增加了麻烦和成本,你还要加芯片。产品设计上绝对是多余的。

关于M051,如果考虑产品的量产,从目前官方提供的工具与方案看,还是采用ICP好。因为官方已经提供了ICP方式的脱机编程工具。使用UART实现ISP的脱机工具目前肯定没有。但是做这样的一个DD不是一个什么非常难的东西。

如果M051能够在市场上推广使用,那么一个好的通过UART实现ISP的脱机工具就会成为一个产品的。典型的例子就是AVR的USB-ISP。

出0入0汤圆

发表于 2010-10-17 13:33:43 | 显示全部楼层
回复【379楼】sde_arm9
竟然出这样错误,那两个发光管并联了,可以断开连到端口。
不过这样也没什么意义,m051的外设如同8051外设一样简单。
产品代码已经移植到m051,有机会最早把m051产品量产哈!
-----------------------------------------------------------------------

恍然大悟。

在看到这个帖子之前,还真没注意仔细看这个PCB,我只是看了SCH原理图,这个LED应该接PIN13的。所以一直认为是新唐要省钱,LED和R11不焊了。同时自己心里也一直有疑问,这也省不了多少呀。

现在明白了,是PCB的布线画错了,LED控制没接到PIN13,直接接到GND上了。还不容易把它断开,所以只能不用了。

这样简单的DD,都会出问题。新唐的工程师们,应该汗颜!

在设计过程中,谁都可能(包括我)都会有失误,这是正常的。但作为官方的DD推出到市场前,应该做点检查和测试吧。何况就一个LED外围。这不是技术问题,是工作态度和作风的问题。新唐官方不要又解释说是委托国内的工程师做的吧。

出0入0汤圆

发表于 2010-10-17 16:01:42 | 显示全部楼层
回复【383楼】hotpower 菜农
是的,若能修改isp固件就有可能不要或少要io配合。
华邦的固件可以通过icp烧录,这点看要比nxp的方便许多。
uart肯定比usb方便和适用得多。
而且usb转串口的芯片也很多,如ft232rl等。
若直接采用此类芯片,max232等转换也省了。
-----------------------------------------------------------------------

实际很多公司并不了解中国的情况。总是认为不管使用ICP还是ISP,都是在PC作为上位。但这个只是针对开发工程师。

一旦成为产品,编程的人员就是一个最普通的员工。它可能根本不懂任何的技术,PC也不会用。但关闭/打开电源,按个键,看红灯亮还是绿灯亮总是可以的。所以要有个脱机编程器的。而且还要有外壳,有蜂鸣器,成功叫1声,失败叫3声。

如果是有那么一个(设计)USRT的脱机编程器,那么在目标板上根本不需要什么电平转换电路。因为这个脱机编程器的输出本身就是CMOS电平。

理想的USRT接口实现的ISP脱机编程器,与PC机的接口可以是USB或COM,但与目标板的接口是UART。这样目标板上的RXD/TXD复用的问题就容易的多,一般只需要串2个2K的电阻就可以了。

理想的USRT接口实现的ISP脱机编程器其功能:
1。PC可以通过它直接对目标板实现ISP编程(开发阶段使用)
2。PC将代码写到编程器中,以后就可以单独使用编程器(量产阶段使用)

这个可以作为M051第2个开源的题目。M051配有2个UART,增加一片dataflash或eeprom芯片就可以了。
第1个开源题目是采用1片M051实现CD音质的WAVE播放器。

学32位的系统,不能还从点亮LED,扫描按键开始吧

准备这两个题目也是为明年本科论文做准备。M051的转换板已经去做了。条件成熟。

出0入0汤圆

发表于 2010-10-18 14:51:17 | 显示全部楼层
回复【389楼】1057045572 华邦-新唐代理
工具现在的确比较紧张,台湾生产成本和运费也高许多,我们现在正计划在国内自己来做,nuc1xx系列的已经在打板,mo51的也正在筹划中,等出来了,我会第一时间告知到大家,前期很多支持不到位的地方,还请大家多多理解!
-----------------------------------------------------------------------

学生已经打电话给我,告之收到工具和2片样片了。谢谢!

另外,您是否能再多给几片样片,因为我的转换板已经去制版了,先做20块。除了自己做测试外,还要给阿莫老大2个样品的。

关于其它的工具,NU-LINK-ME已经是公开了,制作应该没有什么困难。而且有了它,学习和开发也足够了。只要新唐同意,国内找个负责的公司合作(比如阿莫),10天内就搞定了

这么简单的东西为什么还需要再TW生产。是新唐公司要保密技术,还是准备靠工具赚钱?或是新唐国内工程师的技术跟不上?还是出于其它战略上的考虑。

出0入0汤圆

发表于 2010-10-18 21:02:18 | 显示全部楼层
回复【396楼】X-Hawk
回复【394楼】machao   
这么简单的东西为什么还需要再tw生产。是新唐公司要保密技术,还是准备靠工具赚钱?或是新唐国内工程师的技术跟不上?还是出于其它战略上的考虑。
-----------------------------------------------------------------------
真不觉得靠工具赚钱能有出息。
也许怕别人拿过去,横改竖改,改的新唐自己都不认识了,生产品质也难控管。搞不好让客户调试出问题,就会乱怀疑芯片。
所以就是别人可以做,不关我事,一种自我保护需要吧。(以上是俺臆想的答案,马老师莫怪,俺调程序bug也经常有臆想的毛病,呵呵)

-----------------------------------------------------------------------
询问你与南京芯成邦*******公司的关系,该公司也代理新唐的产品。从你的许多帖子看出,你对M051已经非常熟悉了。那么请教一下,你编写代码是采用新唐的提供的库,还是喜欢直接针对寄存器操作。各自有什么特点,根据你的经验认为哪种方法好?

出0入0汤圆

发表于 2010-11-19 03:29:08 | 显示全部楼层

(原文件名:未标题-2 拷贝.jpg)

外型类似下图的USB-ISP,接口同原厂完全兼容。


(原文件名:图4-13 USB-ISP实物图.jpg)

出0入0汤圆

发表于 2010-11-19 12:31:44 | 显示全部楼层
这个是山寨板的DD,基本是拷贝原厂的电路,由于原厂提供了电路和固件,所以我只是改变了外型。做这个也是学习。这个实际上也是一个NUC120的小评估板。

原厂的USB采用转接线,板上是小形的USB座,我的山寨版准备省掉USB的连线,直接插在PC的USB口上,能省一点就省一点。另外普通平头的USB连接线到处都有,比方头的通用。我现在学校的学生学习AVR,使用的也是类似的USB-ISP下载线,也是直接插在PC上的。这个DD类似这个的外型,接口与原厂完全相同:

(原文件名:图4-13 USB-ISP实物图.jpg)


今天做版,已经申请到了样片,我会及时通报进展情况。

出0入0汤圆

发表于 2010-12-5 13:06:25 | 显示全部楼层
回复【431楼】hotpower 菜农
马潮教授:
俺已将nuc1xx和m05x的头文件做完。
由于它们都属于cortex-m0,前者无ebi接口,后者无usb,rtc,i2s,can等模块。
故后者是前者的一个子集。
前者用了很多的时间,后者只用了不到两个小时,几乎是全部转抄。
所以俺准备将其和合为一个通用的头文件,内部自动识别。
-----------------------------------------------------------------------

谢谢你的捧场。

我喜欢从最底层开始玩(熟悉)东西。比如先做转换板,下载器等。

开始还是以直接寄存器操作为主,这样可以更加了解芯片的特点和使用的方法与技巧。

比如下面的PWM初始化代码:

//PWM设置:使用B组4个PWM(4/5/6/7)输出P2.4/P2.5/P2.6/P2.7
        P2_MFP = 0x0000f000;                                // P2.4/P2.5/P2.6/P2.7切换成PWM输出
        P2_PMD = 0x000055ff;                                // P2.4/P2.5/P2.6/P2.7输出模式

        CLKSEL2 = 0xFFFFFFAF;   //0xFFFFFFAC;                // 选择PWM(4/5/6/7)时钟输入为HCLK
        APBCLK |= PWM45_CLKEN | PWM67_CLKEN|FDIV_CLKEN;        // 同步开启PWM4/5/6/7 工作

        FRQDIV = 0x00000012;

        PPRB = 0x00000101;                                        // 预分频2(PPR+1)
        CSRB = 0x00004444;                                        // 选择CSR3/CSR2/CSR1/CSR0为1,1分频for pwm7/6/5/4
        PCRB = 0x08080808;                                        // 设置PWM5/6/7/8 为循环模式
        CNR0B = 0x000000ff;
        CMR0B = 0x00000080;
        CNR1B = 0x000000ff;
        CMR1B = 0x00000080;
        CNR2B = 0x000000ff;
        CMR2B =        0x00000080;
        CNR3B = 0x000000ff;
        CMR3B = 0x00000080;
        POEB = 0x0000000F;
        PCRB |= 0x01010101;                                // PWM5/6/7/8启动

    在直接调试中就发现,开启PWM的时钟(下面2句)必须放在设置PWM相关寄存器的前面。如果放在后面,那么前面设置PWM相关寄存器的操作根本就是无效的!也就是说,必须先开启PWM的时钟,然后才能设置PWM的相关寄存器。这个问题我看了多遍手册,没有发现有解释和说明。

        CLKSEL2 = 0xFFFFFFAF;   //0xFFFFFFAC;                // 选择PWM(4/5/6/7)时钟输入为HCLK
        APBCLK |= PWM45_CLKEN | PWM67_CLKEN|FDIV_CLKEN;        // 同步开启PWM4/5/6/7 工作

由于直接对寄存器操作,单步在线调试方便,也非常容易找到问题所在。

出0入0汤圆

发表于 2011-1-9 15:40:57 | 显示全部楼层
回复【441楼】zhiwei
打样的板子回来了(一个新产品的)。也买了un-link,今天初步调试,说说感觉。
以前都是看文档,所以没有深入了解,今天搞了半天,
1.解决了第一个问题:pll配置的时候输入时钟源那里中文文档翻译反了,搞了半天没有反应。。。
2.配置成功后发现48mhz时钟下,软件io循环取反出来的频率只有1.333mhz。。。太慢了吧,都怀疑是我软件有问题。。。
3.关于开发工具:用iar+unlink没有搞定,就直接icp编程看结果了,avr的时候 习惯这样搞。现在ldrom没有预置bootloader,所以必须要有swd接口的调试器才能开始开发。avr开发的时候isp协议比较简单,我自己diy了脱机下载器(主要是方便osccal加密),做了几个给生产线批量用。现在m051想搞批量脱机编程器就比较麻烦了。。swd协议比较复杂呀。

-----------------------------------------------------------------------

1。新唐的UN-LINK具备脱机下载的功能,使用ICP,也不算太贵。UN-LINK-ME不具备脱机下载功能。但都支持在片的实时仿真。
2。如果批量,建议直接使用ICP方式,比ISP的bootload方便,占用的I/O个数也相同

出0入0汤圆

发表于 2011-7-11 23:02:03 | 显示全部楼层
回复【463楼】god-father 教父
大吉大利,avr看来已经完全活过来了,价格比去年低很多,且供货充足。

-----------------------------------------------------------------------

AVR是8位,当做个东西8位有点不合适的话,那么就是32位的。

M051是32位的,如果5元一片,而且功能比AVR还强(5元的价格,AVR也就是M8吧,M16也买不到),8位的市场就会动摇。

此时8位的价格就必须再低,才能与32位的抗衡。

我们左右不了市场的发展,但掌握32位的使用应该早做准备。当你51、AVR、MO51、STM32都会的话,还怕没有吃饭的地方?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-4 05:03

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表