新闻  |   论坛  |   博客  |   在线研讨会
ARM芯片经典问题
sdjntl | 2010-05-30 15:46:50    阅读:15506   发布文章
ARM芯片经典问题 来源:互联网

第173 问:
Q:2100 实验板的问题.
使用几次RelInFLASH 后不能正常工作,包括其他两种方式也不能工作在RelInFLASH 和
DeBUGinflash 时显示一个错误
Warnning! interrupt vectors data is not correct!
Program you downloaded can not run freely!
不知怎么回事 使用DebugInRAM 虽然不报错,但无法正常工作.
A:可能是启用了加密功能引起的,使用ISP 擦除FLASH.
第174 问:
Q:很有意思,自从买了2100 实验板一直在用DebugInRAM,今天想试试DebugInFLASH,后
来就选了后者进行调试,奇怪的现象发生了,以后再进行DebugInFLASH 之前确切的说是
进入AXD 在运行之前都显示着我第一次用DebugInFLASH 时下装的程序,一运行就可以显
示当前程序的结果,每次如此,只要不运行其他程序,实验板上的LED 就保持第一次下
载的程序的状态,RESET 和重新上电都不行,是不是我的这个程序把开机的DEMO 替换掉
了,哪里可以下载到那个DEMO,我想再装回去.
A:DebugInFLASH 就已经把程序下载到FLASH 了,原先出厂的程序已被你的程序覆盖.
第175 问:
Q:我将其按照intle 32 bit hex 编译后将hex 文件通过ISP 下载到2104 开发板上为什么
没有反映 后来再下载C 语言编写的同样功能的文件,前几次可以运行,后来又下载
了别的程序后就又不能运行了,请问这是什么问题 多谢!
A:光盘上的EINT1_LED.S 只适合于在RAM 中调试,如果要下载到FLASH 中运行,需要加入
向量表(且要求向量表累加和为0).
Reset
LDR PC, ResetAddr
LDR PC, UndefinedAddr
LDR PC, SWI_Addr
LDR PC, PrefetchAddr
LDR PC, DataAbortAddr
DCD 0xb9205f80
LDR PC, [PC, #-0xff0]
LDR PC, FIQ_Addr
ResetAddr DCD MAIN
UndefinedAddr DCD Undefined
SWI_Addr DCD SoftwareInterrupt
PrefetchAddr DCD PrefetchAbort
DataAbortAddr DCD DataAbort
42
Nouse DCD 0
IRQ_Addr DCD 0
FIQ_Addr DCD FIQ_Handler
MAIN ...
第176 问:
Q:手册上只有I1.8,而没有I3.3,无法计算片子功耗.
A:3.3V 与外设相关.芯片本身在3.3V 中的消耗可以忽略不计.
第177 问:
Q:通过查看数据手册LPC2119 的接地有三种,分别是Vss(0V 电压参考点),Vssa(模拟地),
Vssa_pll (pll 模拟地),三种的电压都为0V,但为了降低噪声和出错几率需要隔离,
请问如何隔离 电源方面:有两种供电电压,一种是1.8V(内核),一种3.3V(I/O 口)
分别存在隔离问题,请问如何解决 吾乃新手,还忘老手不吝赐教,谢谢!
A:与普通的多种地布线类似(它们有多少种方法就有多少种方法),最终这些地线还是要接
到一起.
第178 问:
Q:请问LPC2119 的电源芯片选哪款较为合适 有没有推荐的匹配
A:与2104 一样,可选SPX1117.
第179 问:
Q:我现在数字电路除LPC2114 使用3.3V 电压外,其余的大部分是5V 的.我想先将LPC2114
连接到 CPLD,再连接到其它电路(CPLD 的I/O 口可以输出或输入5V)不知道行不行.
谢谢.
A:我觉的简单的电路可以用LVC 芯片,必要时可以用3V 的CPLD.
第180 问:
Q:请问:你们公司的ARM 芯片相对于 象44B0X 等等一系列的ARM 处理器的优点在那里
好象LPC2104 还比较的贵啊!现在我正在考虑选择 ARM 芯片的问题,望回答.谢谢
A:我们的LPC210X 内部有FLASH 和RAM,LPC211X 为工业级适用于工控领域,并且是全球唯
一可加密 的ARM.
以整个系统成本来说,LPC ARM 内部有FLASH 和RAM,低功耗,可加密性价比更高.具有
ARM 的性 能,单片机的特点,在许多应用场合比其它的ARM 更优越.
第181 问:
43
Q:我的2214 板IO 口和中断均能正常工作,今天准备调显示器,显示器接在CS2 上,8 位
数据线,通过查资料,得cs2 的地址空间为8200 0000,于是我将命令口地址定为0x8200
0001,数据口地址定义为0x8200 0000,对啦,数据命令切换线在A0 上,在显示器初始
化前,对CS2 进行了配置,即BCFG2&=0XCFFF FFFF,即除修改成8 位数据线外,其它均
不变,对显示初始,定时送显示器,但是测量CS2 口线,根本不出现低电平,更不用说
数据线啦,即好像外部总线根本没有工作.
之后根据2214 的模板,从新设置了参数,结果写信号出不来,片选,读地址,数据均有.
PINSEL2=0x0f814910;
BCFG2&=0xcfffffff; // CS2,8 位数据线,
请问,配置外部总线还需要其它寄存器吗,由于手上没有这方面的资料,请给予帮助.
谢谢!
A:注意BCFG2 的写保护位.
第182 问:
Q:请问:关于LPC2214 的BOOT0 和BOOT1 的用法.
前提:我使用内部FLASH 作为程序存储器,利用外部总线CS0 扩展一片并口的12 位AD,
CS1 扩展并口的液晶,CS2 扩展一片RAM 芯片.
我的想法:将BOOT0 和BOOT1 上拉,系统上电启动后,检测到11,那么从内部FLASH 启
动,之后我可以设置管脚的选择寄存器,使能CS0 和CS1 和外部总线,那么我就可以随
时的利用它的地址访问我的外部扩展的设备.
请问我的想法对吗,并请指点一下我应该注意的相关的问题.
A:正确.
第183 问:
Q:请问:2214 外扩SST39VF320 在CS1 上为什么读ID 不正确 程序如下:
//设置PINSEL2 位
#define P1_26_31_Debug 4 // JTAG D2
#define P1_16_25_Track 8 // 跟踪 D3
#define P2_Data_Bus 0x10 // D0-15 IO (D5 D4=01)
#define P3_27_WE 0x100 // 写信号 D8
#define P3_26_CS1 0x800 // D11
#define P3_25_CS2 0x4000
#define P3_24_CS3 0x10000
#define P3_0_23_ADDR 0x0f800000 // 地址总线
//PINSEL0=P0_0_15_Set;
#define PIN2Set (P1_26_31_Debug+P1_16_25_Track+P2_Data_Bus+
P3_27_WE+P3_26_CS1+P3_25_CS2+P3_24_CS3+P3_0_23_ADDR)
#define SST39VF320_Com_Add1 (*((volatile unsigned long *) 0x81005555))
#define SST39VF320_Com_Add2 (*((volatile unsigned long *) 0x81002aaa))
#define SST39VF320_ID1_Add (*((volatile unsigned long *) 0x81000000))
44
#define SST39VF320_ID2_Add (*((volatile unsigned long *) 0x81000001))
void InitGPIO()
{
PINSEL2=PIN2Set;
BCFG1=0x10000000; // 16 位
}
void Check320(void)
{
SST39VF320_Com_Add1=0xaa;
SST39VF320_Com_Add2=0x55;
SST39VF320_Com_Add1=0x90;
// Delay_150_Nano_Seconds();
// Read the product ID from 39VF320
SST_id1=SST39VF320_ID1_Add; // 读出ID 不对
SST_id2=SST39VF320_ID2_Add; // 读出ID 不对
SST39VF320_Com_Add1=0xaa;
SST39VF320_Com_Add2=0x55;
SST39VF320_Com_Add1=0xF0;
}
A:CPU 的A0 不能不能接,另外地址也要相应的变化(针对FLASH 的地址和针对CPU 的地址
不一样).
第184 问:
Q:请问1.8V 电源和3.3V 电源的跳线要同时供电吗 分别是给谁供电的
A:一个是给核心(内核)供电,一个是给I/O 口供电.
第185 问:
Q:1.ARM 的P0.1(WR),P0.4(RD)为何不直接和以太网控制芯片的IOWB,IORB 相连
NETCS 起什么作用
2.网卡控制芯片的INT0 为何要接一个反相器和ARM 的P0.7 相连
3. 我能否直接连接到ARM 的P0.16(外部中断0 输入)口呢
4.8 位数据线和5 位地址线怎么实现分时复用
A:1.使用片选选择,NETCS 就是片选信号.
2.因为8019 的中断是输出高电平,为了适应所选芯片,所以加反相器.
3.如果所选芯片支持低电平或跳变触发,就可以不用加反相器而直接与外部中断输入相
连.
4.加锁存器.
第186 问:
45
Q:目前210x 的各功能均试验完毕,现在想知道的是其IAP 功能是否可以向PSD 产品那样实
现远程的程序更新 如果可以,那么当程序代码写入FLASH 后如何让程序转到更新后的
程序 PSD 是通过寄存器来完成转换的,那么210x 如何实现呢 比如210x 的程序是从0
地址开始执行的,假如原代码长2FFFH,现在更新后的程序长3500H,那么在IAP 时只能
将代码写到非00000000~00002FFFH 区域FLASH 中,写完后该如何让当前程序停止而转到
更新后的程序呢 PSD 产品是因为有2 块存储器,在执行当前存储器中程序时可对另块
存储器写操作,写完后在将执行权交给另块存储器.期待您的回复!
A:如果,你的程序较小(64k),你就把它当作两块独立的FLASH(多个扇区).
写入其中一块,另一块空着...
程序开始执行的时候,判断哪一块是最新的,跳转过去就行了!
一旦从外界收到"更新程序"的命令,检验数据,更新另外一块,就行了!
接收完毕,烧写结束,写入最新程序标志.立即跳过去.
下一次开机,执行最新的.
这个方法,比较安全.可以防止中途通讯结束,复位等.
如果你的程序比较大,有点悬……至少,在某些干扰环境下,不要那么做.
第187 问:
Q:开发板实验中 delay_ns(uint32 dly) 在上述条件下是延时dly 秒吗 如是则执行速度
似乎并不 快 怎么估计出来的呢
A:如果程序和数据均在片内RAM 中,这样计算:
1.一般指令需1 个主时钟时.
2.每次跳转增加3 个主时钟时间(也许是2 个,需要确认).
3.从RAM 中取一个操作数多增加一个主时钟时间,以此类推.
4.保存一个结果到RAM 中多增加一个主时钟时间,以此类推.
5.访问片内外设,增加一个外设时钟时间.
注意伪指令ldr rn,=x 需要从ram 中取一个操作数.
第188 问:
Q:请问如果lpc2104 和5V 的芯片字节连接,中间不接小电阻,会怎样 对系统有没有很大
的影响
A:不安全而已.
第189 问:
Q:2104 的功耗最大在多少,(考虑外设全部工作,功率损耗)
EASY ARM 板上提供的电源最大输出电流好象只有300mA 哦.
A:芯片本身功耗最大值小于70mA(120 摄氏度,核2.1V 供电,运行于60MHz).一般情况
小于50mA.
IO 口耗电(即3.3V 耗电)与其它电路密切相关,实质是其它电路在消耗电源(ARM 本身
对3.3V 的消耗是极小的).
46
第190 问:
Q:LPC2114 替换LPC2104 的话,我的程序还需要做哪些变动
哪些内部专用寄存器的地址是否变动
还有,我原来设计电路用的是LPC2104 的次要JTAG 口,现在换到LPC2114 上来,需要怎
么改电路
A:程序无需改动,JTAG 设计时在RTCK 接一个4.7k 的下拉电阻即可.
第191 问:
Q: 有一问题请教,在市场上买的ARM 核单片机的程序用ADS1.2 建立项目,添加初始化程
序vectors.s, init.s,target.c 和target.h 后再写自己的主程序,编译烧录到ARM
中即可投入使用了吗 而有的ARM 嵌入式系统中还有bootloader,那是不是利用ARM 开
发的产品都要bootloader,而bootloader 是通过什么软件编译的
我所买的easyarm 开发板的lpc2104 中有bootloader 吗
A:bootloader 是用来下载程序到FLASH 中的,LPC210x 具有ISP 功能,可直接使用ISP 下
载程序,不需要自己编写bootloader.
第192 问:
Q:我想用IAP 把数据存到2104 的FLASH 里,可我怎么读出来呢
A:定义一指针,指向你用IAP 写数据的那个区域,就可以读了.
第193 问:
Q:当PLLCFG 设置为0x05 时的效果和设置为0x25 时一样,但晶振是11.0592MHz 的,如果
设为0x05, Fcco 的范围不在156M-320MHz,为什么还可以用,而且和其它没有区别
A:手册说明的是保守值.实际的芯片的Fcco 可能在更大的范围可以工作.
第194 问:
Q:WDT 复位后从地址0 开始执行吗 运行程序5.40 后,WDT 复位后并不是从地址0 开始执
行,却跑去执行
[0x07806808] dcd 0x07806808,
并一直执行此语句.如何才能从地址0 开始执行
A:WDT 复位后是从0 开始执行程序.可在复位处设置一些外部现象(如LED 闪烁),然后脱
机运行.
第195 问:
Q:我运行光盘上原始的IAP 程序例子,使用它的project 是正常的,但我自己重新建一个
目录和project,参数设置按照原来工程的设置,编译出来的axf 文件就是会在运行到
第一个 SelSector(1,1)时无法继续下去,我自己的axf 文件和光盘上的一样大16kB,
究竟是怎么一回 事 有一处设置Language Settings 里的ATPCS 项有什么意义 其他
47
工程好像没有选择这一项.
A:IAP 是THUMB 指令,如果用户程序是ARM 指令,所以调用时需要使用BX 指令.则C 编译
器的ATPCS 项要设置"ARM/Thumb interwork...".
第196 问:
Q:LPC2104 具有6 个PWM,可以应用与电机控制,可是却没有计数器进行电机转速的PID
闭环控制, 这个情况是不是lPC2106 的一个缺陷呢 如果不是,那应该怎么样才能进
行外部脉冲的计数 在不用外加计数器的情况下! 很是困惑!
A:捕获算周期.
第197 问:
Q:ISP 通讯的问题.
自己做的板子,使用ISP 下载程序,提示无法通讯.板子上使用了跳线使得44 脚和地连
通,也通过max3232 进行电平转换了.还有复位电路感觉也一切正常.不知道为什么就
是无法通讯.好晕啊,各位成功下载的大侠们指点一下吧.试了好几天了,都没法成功.
A:你确保了max3232 过来的电平正确了吗 如果正确了,还要确保通信方向是否弄反,最
后注意复位信号是否正确.
A:搞定了,原来是max3232 的问题,现在已经可以下载程序了!
第198 问:
Q:如何用ISP 软件擦除FLASH 中的内容啊
我在调试UART0 串口程序的时候出现问题,上网看到很多文章都建议要先擦除FLASH 中
已有的内容,于是用ISP 软件进行擦除.但是在使用该软件过程中,按到很多钮都说:
串口不能正常工作.
这是什么原因啊 请教高手正确使用ISP 软件的方法及注意事项.
A:看看你的跳线是不是按要求接好了!!
第199 问:
Q:EasyArm2104 开发板上的ISP 下载的时候通讯不上.请问,要跳JP6 吗
A:您可以自己试一下:
1.是不是接的UART0 口
2.系统晶振(XATL.Freq)是不是11059.2kHz
3.串口选择是否正确
4.要求你复位的时候你是否有复位
5.ISP 使能跳线使用JP1(JP6 和JP7 保持主JTAG 调试状态)!
第200 问:
Q:请教高手,lpc2104 和lpc2114 外部晶振接法
原来我用LPC2104 做的板子,外部晶振接到X1 时不可用.后来接到X2 上时好象可以用,
但这与资料上的说法好象有点出入.现在我想换LPC2114 改版,但不想再次改版了.故
在此请教外部晶振接法
48
A:使用外部无源晶振,晶振两个管脚无需连接,与51 单片机基本一致;时钟信号由X1 输
入.
第201 问:
Q:请问有没有工业级的21**系列
A:lpc2114 等芯片就是工业级的.
第202 问:
Q:读LPC2119/2129/2194/2292/2294 使用指南之迷惑.
1. 对于2292/2294,开放了外部总线,程序应该可以放到外部,外部和内部的存储空间
地址不连续,如何保证程序超过128K 后自动跳转到外部执行程序
2. VIC 部分,VIC 通道号17#和18#都是EINT2,是什么意思 难道一个中断源占2 个号
EINT3 的VIC 通道号是多少
3. 我购买的芯片是否内部已经有了Boot 装载程序
A:1.使用分散加载.
2.可能是笔误.
3.有.
第203 问:
Q:请问用LPC2104 扩展D12 有没有问题
A:可以使用模拟总线,速度比51 快几倍.
第204 问:
Q:请教:LPC2114 的V3 能否接2.8V
系统有多个外设,有一个使用2.8V±5%的电平接口,其它使用3.3V,那么LPC2114 的
V3 怎样接
V3 接2.8V 电压基准是否可以,口线与其它3.3V 的接口能否直接相连
A:建议不要超出手册说明的范围使用芯片.
第205 问:
Q:我自己做的板子,把2104 的44 脚(EINT1)接地,再利用LPC210XISP 软件通过串口0
往芯片里写程序,为何按了复位键以后连芯片的ID 都不能读到
A:应该检查如下几点:
1. 确保你的芯片在工作.一般可以查看芯片的几个电源是否都正确,查看晶体是否有
波形, 最好还可以看看各电源的纹波是否严重.
2. 确保电平转换芯片的正确工作,以及各输入输出的正确.这个方向最容易弄反.
3. 查看复位端的电平是否正确,复位按健正常.
4. 确保44 脚接地.
49
第206 问:
Q:请教如何通过2104 的串口1 来往芯片里写程序
A:使用ISP 功能,不能用串口1,只能用UART0.
第207 问:
Q:请教ARM2104 配套《ARM 微控制器基础与实战》上第一个实验的问题.
在ADS1.2 中编译以下程序后进入AXD 进行调试成功.
程序稍加修改,使LED1..LED4 同时闪烁,在ADS1.2 中编译以下程序进入AXD 调试成功.
问题:两个程序的软件延时部分相同,但两个程序使LED 的闪烁间隔时间不同,不知是
何原因
A:可以先使用ISP 将芯片FLASH 擦除试试,可能是FLASH 程序设置PLL 的缘故.
第208 问:
Q:1.《ARM 微控制器基础与实战》上说32 字节的向量表的累加和必须为0 才可脱机运行,
是否需要每次修改程序后修改第六个保留向量的值(因为地址有改变).
2.《ARM 微控制器基础与实战》上说用ldr pc, resetaddr 指令代替b 指令可全空间跳
转,但是我看指令说明ldr 指令的地址只能是当前地址的+-4k 呀!
A:1.不用修改.
2.请看书.
第209 问:
Q:关于2119 的can 的通讯问题,就是2119 的波特率的设置与SJA1000 有什么不同
A:基本上一致,将ARM7 的Fvpb 与SJA1000 的晶振对比:
BRP,SJW,TSEG1,TSEG2 均是同样的设置方法,需要计算,可参照SJA1000 中位定时参
数的计算方法.
第210 问:
Q:请问各位高手.新买的ARM 芯片是不是直接安装上去就可以直接下载程序工作了了吗,
还需要有什么别的设置吗.
A:LPC2000 系列有片内FLASH 的都可以直接ISP,不过要保证硬件正常.
第211 问:
Q:2119 实时时钟电池怎么供电 所有的电源引脚都要供电吗
A:没有独立的电池供电引脚,以后会推出RTC 独立晶振和备份电源接口的型号.
不太适合电池供电,除此以外,功能还是很强的.
第212 问:
50
Q:在调试实验程序的时候,把低功耗掉电模式实验代码PDRUN 编译后下载到2104 FLASH
以后,程序正常运行了.可是再DEBUG 程序时,在AXD 下总是提示错误:
Error:flash is user configured protected
我能明白这个是因为2104 一直处于掉电模式的原因,可是如何解除这种状态,把现在
FLASH 里的这段程序擦除掉啊
A:通过ISP 软件擦除.
第213 问:
Q:请教关于"IAP 实验的问题"
《ARM 微控制器基础与实战》359 页的IAP 实验是用汇编写的,然而在光盘上IAPtest
实验的程序是用C 编写,其中提到本实验是调用IAP 服务程序.请问:
1. IAP 服务程序放在了什么地方(汇编部分)
2. 我想向其中写入10 字节数据,而不是诸如256 个字节,是否可以,如何实现
3. 在主程序中定义一个数组,如何把此数组中的数据固定在特定地址中阿,然后我好
进行RamToFlash.
A:1.在BOOT 区,入口地址为0x7ffffff0,IAP 服务程序为THUMB 指令.
2.先读取原数据到RAM 中.如果只需要保存小量数据,且经常要更改,最好使用外部
E2PROM.
3.可能不好实现,参考ADS 帮助手册吧.
第214 问:
Q:请问LPC2104 系统为什么采用11.0592Mhz 的晶振,是在定时上有优势还是其他原因.
A:选用11.0592MHz 只是为了得到精确的通信波特率,串口通信的可靠性高.
第215 问:
Q:请教:lpc2104 和RTL8019AS 的接口问题.
以前在C8051F 上做,高低地址是固定的,容易接口,RTL8019 映射地址也容易算出.现
在lpc2104 是32 位的,32 个地址线和32 个数据线,和外围器件接口时带到很困惑.不
知有没有高手看过周立功网站的提供的lpc2104+RTL8019AS 的接口电路,SA0-SA4 和
lpc2104 的哪个脚接在一起 请指点由一个573 来控制地址与数据总线复用现在有点明
白虚拟总线了,加上一个地址锁存器,和51 机的就很相似了.
A:对,为了兼容51.
第216 问:
Q:开发板上的74HC125 的U5C,U5D 起什么作用
A:去抖动.
第217 问:
Q:请教:在2100 开发板的ADC 实验(P119 面)中为什么每次AD 转换都要启动两次
51
A:切换通道后,丢弃第一次ADC 转换值.
第218 问:
Q:如果我的AD 转换需要的满量程是0V~5V,是不是把AD 部分的电源即V3A 由现在的3.3V
改为5V 供电就可以了
A:把输入的电压用电阻分压就可以了.
第219 问:
Q:疑问:2104 开发板上用了MAX708,其已有高/低电平复位输出,为什么还要用74HC125

A:为了使手动与JTAG 都可以对芯片复位.
第220 问:
Q:请教高手关于自己做板子的问题.
我自己做了一个2104 的板子,第一次上电可以通过串口顺利地把 .hex 文件从串口写入
flash, 然后再次上电,程序就不执行了,并且再次用周立功公司提供的ISP 软件却
无法访问该芯片.同样地程序我放到周立功地2104 的开放板用同样的步骤,它却能正常
运行,我的板子基本上是按《ARM 微控制器基础与实战》上的图制作的,请指点我的问
题可能的原因在哪里 请教自己做板子容易出错和注意的地方.
A:重新上电试试.
P0.14 口是否已接为低电平
测一下晶振是否起振
Q:晶振测过已经起振,运行自己的程序不是要把P0.14 口断开吗 用ISP 软件下载程序的
时候才把P0.14 接地是不是
A:需要ISP 时P0.14 口接地;
需要运行用户程序时,P0.14 口要接一个上拉电阻,因为P0.14 内部无上拉(作为输入时).
第221 问:
Q:请问2104 的复位电路我不用MAX708 和74HC125,做成象51 单片机那样的复位电路可以

A:做成这样是为了保证JTAG 接口和按钮,上电都可以复位芯片!
实现线与逻辑,如果你不需要调试只是生产的话,完全可以那样设计复位电路.
第222 问:
Q:关于REMAP
请问remap 的时候只要给MEMMAP 赋值就好了吗 具体的中断向量表的映射系统自动给你
生成
在启动代码中关于remap 我只看到赋值,而在《ARM 微控制器基础与实战》上写了一段
重映射的代码示例P280 程序清单5.2.
52
如果系统自动remap 的话,那么映射到的地址空间我们没法改动了
代码中,通过B lable1 或bl Lable2 进行跳转时,要不要进行栈的操作
如果调用的是c 语言函数,除了传递必要的参数,有没有保存寄存器呢
A:中断向量表不是系统自动生成的,是由用户编写.Remap 通过改变MEMMAP 的值实现.
请看一下"ARM-Thumb 过程调用标准"(ATPCS.pdf)这篇文档.安装ADS 后就有.
第223 问:
Q:请问:lpc2104 运行速度
ARM7TDMI(-S)能提供0.9MIPS/MHz 的指令执行速度,lpc2104 cclk 为60MHZ 时指令执行
速度应为0.9*60 = 54 MIPS,这样得到一条指令的执行速度大概为0.018us.可我用示
波器观察计算得出一条指令的执行时间远远大于这个数值,大概为0.1us-0.8us(可能由
于流水线的影响,指令执行时间的差别很大).这是怎么回事呀
A:这是一个在存储器带宽足够时的平均值.如果程序和数据均在片内RAM 中,这样计算
1. 一般指令需1 个主时钟时间
2. 每次跳转增加3 个主时钟时间(也许是2 个,需要确认)
3. 从RAM 中取一个操作数多增加一个主时钟时间,以次类推
4. 保存一个结果到RAM 中多增加一个主时钟时间,以次类推
5. 访问片内外设,增加一个外设时钟时间
注意伪指令ldr rn,=x 需要从ram 中取一个操作数.
在flash 中如果MAM 配置为最优,平均速度与在ram 中相差无几.
第224 问:
Q:请教斑竹关于211x 和22xx 系列P1.16-P1.25 这些引脚的作用
另外在开发版上除了JTAG 口外,上述引脚是否用到
在设计自己的系统时,如果将P1.16-P1.25 这些脚作为普通输入输出口用,是否会影响
系统的调试
A:ETM 跟踪端口.
一般JTAG 仿真器不使用这些引脚,所以设计自己的系统时用作I/O 即可.不会影响调试.
第225 问:
Q:请问,请问评估板上的S-1131B 哪里能订购到,或者有什么替换型号.谢谢
A:SPX1117M3_1.8 和 SPX1117M3_3.3.
http://www.zlgmcu.com/Sipex/power/SPX1117.asp.
第226 问:
Q:关于 P2104 的驱动能力!
我正在用2104 外接LCD 其中用P0 口模拟总线 我的了LCD 电压是5V 的,而2104 是3.3V
的,能否直接相接 我没接时还有信号输出但接上之后就什么信号都没有了,请问是何
缘故 是否需要电平转换芯片或驱动芯片 上拉电阻能否满足要求
A:中间串一个小电阻试一试.我们接过多种总线器件都没有问题.
53
第227 问:
Q:问一下,lpc2104 的I/O 的驱动能力
单个I/O 可以走多大电流
全体I/O 可以走多大电流
A:数据手册上有,Ioh,Iol.
第228 问:
Q:2119 最高频率可达60MHZ,在频率比较高的时候应该使用几层的电路板,有没有确切的
规定
A:不知道什么时候有人就把PCB 的层数与频率划上了一个必然的关系.60MHz 很高吗
看看你的调频收音机,FM 波段范围是88-108MHz,内部部本振频率可达118.7MHz,1
层板!看看电视机里头的电路板,高频盒内一般最多就2 层板(还是一层的居多)它跑
多高的频率 自己查查UHF 的范围吧,记得保持冷静因为没有什么值得去惊讶的!再有
几年前拆过一个GIGA 的游戏机,音频部分的PCB 是4 层板(独立的小板),小日本的东西
元器件密密麻麻的,看看这个它又能是跑多高的频率 况且现在数字电路的电平容差相
对于模拟电路的至少有一个数量级的差别.在高频模拟电路下,多一块覆铜可能就使电
路的性能下降或工作点异常,例如它可能使电感特性器件的Q 值下降,产生涡流耗损等.
很多时候增加PCB 的层数决不是单纯因为系统速度,你所说的60Mhz 也只是芯片内部的
系统时钟, 难道你的IO 也要作为时钟源使用吗 在ARM 中采用PLL 技术使得外部时
钟可以下降到一个较低的水平,则可以抑制部分由时钟电路产生的射频干扰,有较好的
EMC,EMI 特性,一个合理的PCB layout 可能比盲目增加PCB 层数的方法提高系统的稳
定性来得更合理和有效!看你是想做精品还是想做产品或其他,这就要综合多方因素考
虑了.
无可否认,增加PCB 的层数后比较容易的处理一些由于电源寄生干扰产生的问题,适当
配合layout 可以满足一些速度(时序)要求苛刻的电路.由于现在元器件体积日渐小
型化,PCB 上元器件密度大,很多时候单面或双面的layout 实现已经非常困难,增加PCB
层数是为了更好的使设计变得合理和可靠.
第229 问:
Q:ARM 抗干扰能力怎样,是否低压器件一定比高电压器件抗干扰能力弱 谢谢!
A:我们用自己的开发板打群脉冲到最高都正常工作(程序没有任何抗干扰措施).
第230 问:
Q:我刚刚设计完了一块LPC2106 的电路板.在用EASYARM 仿真器通过JTAG 接口调试没有能
够使用,但是通过JTAG 口下载到FLASH 后上电复位却不能正常工作,手动复位也不行.
同样的程序在购买的实验板上完全可以使用.不知道是怎么回事.我初步怀疑是复位电
路问题,但不知道怎么解决.
A:问题解决了!只要将P0.14 上拉到高电平就可以了.
54
第231 问:
Q:VPB 是什么意思 英文全称是什么
A:VPB (VLSI Peripheral Bus)
第232 问:
Q:请问大侠们,2104 怎样与5V 的外设连接,多谢!!
下一个产品想用2104,可是用惯了51,不知怎样与5V 外设连接,多谢!!
A:可以考虑使用3.3V 至5V 的缓冲器件如4245,最简单的方法就串上个小电阻.
第233 问:
Q:请教大家:LPC2104 芯片中的PWM 有中断功能,请问输出置PWM 匹配通道的中断标志有
什么意义,有什么作用
A:举个例子,如果 使用PWM 滤波 生成正弦波,有中断,就方便很多!


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
在路上
最近文章
ARM的开发步骤
2010-05-30 17:13:59
LPC2XXX系列问答(二)
2010-05-30 17:08:12
LPC2XXX系列问答(一)
2010-05-30 17:07:28
推荐文章
最近访客