aduc7026中文资料怎样触发iic中断

现在的位置:
ADuC7026入门套件
名&&&&&&称:
ADuC7026入门套件
概&&&&&&述:
编&&&&&&号:
EVAL-ADUC7026QSPZ
厂&&&&&&商:
Analog Devices Inc
购&&&&&&买:
ADuC7026入门套件用来评估ADuC7026/ADuC7027的开发系统。适用于任何想拥有一个全面硬件开发环境的新用户。
评估ADuC7026/ADuC7027的开发系统为完全集成的1 MSPS、12位数据采集系统,在单芯片内集成高性能多通道ADC、16位/32位MCU和Flash/EE存储器。
用于ADuC702x精密模拟微控制器的QuickStart和QuickStart Plus套件提供通过UART进行调试的功能和汇编/C源代码调试环境。此外,QuickStart Plus套件还允许真正的非介入式JTAG仿真。若您评估过ADI公司的其它ADuC器件,您可能已经拥有该仿真器。
ADuC/22/24/25/26/27/28均为完全集成的1 MSPS、12位数据采集系统,在单芯片内集成高性能多通道ADC、16位/32位MCU和闪存/EE存储器。
ADC具有多达12路单端输入。另外还有4个ADC输入通道也可以和4个DAC的输出引脚复用。4路DAC输出只是在特定型号上提供(ADuC7020和ADuC7026)。然而,在无DAC输出的情况下,这些引脚仍然可以用作ADC的输入引脚,这样ADC的输入最多可以达到16通道。ADC可以在单端模式或差分输入模式下工作,ADC输入电压范围为0 V至VREF。低漂移带隙基准电压源、温度传感器和电压比较器完善了ADC的外设设置。
根据器件型号不同,片内最多可内置4个缓冲电压输出DAC。通过编程可以将DAC输出范围设置为三种电压范围之一。
这些器件通过一个片内振荡器和锁相环(PLL)产生41.78MHz的内部高频时钟信号。该时钟信号通过一个可编程时钟分频器进行中继,在其中产生MCU内核时钟工作频率。微控制器内核为ARM7TDMI,它是一个16位/32位RISC机器,峰值性能最高可达41 MIPS。片内集成有8 KB SRAM和62 KB非易失性Flash/EE存储器。ARM7TDMI内核将所有存储器和寄存器视为一个线性阵列。
工业控制和自动化系统
智能传感器、精密仪器
基站系统、光纤网络
- 446.72 kB
- 687.19 kB
- 217.94 kB
- 164.99 kB
【上篇】【下篇】
您可能还会对这些文章感兴趣!
您必须才能发表留言!ADuc7026学习-工程建立以及硬件调试 - ADI参考电路 - 电子工程世界-论坛
后使用快捷导航没有帐号?
查看: 995|回复: 4
ADuc7026学习-工程建立以及硬件调试
在线时间613 小时
威望1099分
芯币7939枚
E金币280枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
本帖最后由 dj狂人 于
16:22 编辑
& && && && && && && && && && && && && && && && && && && && && && && && && &&&ADuc7026学习-工程建立以及硬件调试
& && && && && & 首先说下创建一个新的工程.
& && && && && & 新建一个新的工程步骤就不详细讲了,我的开发环境是MDK474+keil4,新建工程的时候选择ADI公司的芯片ADuc7026,
2.png (26.65 KB, 下载次数: 1)
11:05 上传
接着点击“OK”会弹出一个小窗口,询问是否使用添加启动文件,选择是就可以了,
3.png (11.72 KB, 下载次数: 0)
11:05 上传
这样一个新的工程就建好了,接下来进行一些设置,点击这个图标
3.jpg (14.35 KB, 下载次数: 0)
11:10 上传
在弹出的的一下窗口进行设置
4.png (29.27 KB, 下载次数: 0)
11:11 上传
首先在 OutPut选项卡中把 Create_HEX_File 选项勾上,不然将不生成 .hex 文件
8.png (18.69 KB, 下载次数: 0)
11:30 上传
接着选择DeBug选项卡进行如下设置
5.png (31 KB, 下载次数: 0)
11:15 上传
然后点击Settings按钮会弹出一个小窗口,进行如下设置
6.png (41.84 KB, 下载次数: 0)
11:15 上传
接着到 Utilities 选项卡,先把Use DeBug Driver 勾掉,然后选择调试器,这里我选的是J-Link。
7.png (29.89 KB, 下载次数: 0)
11:25 上传
以上设置好之后,点击 Settings 按钮,在弹出的小窗口中进行如下设置
7.jpg (93.33 KB, 下载次数: 0)
11:25 上传
点击“OK”一路返回。新建工程的工作到这就结束了
ADuc7026学习-I/O :
dj的世界一直很好
在线时间613 小时
威望1099分
芯币7939枚
E金币280枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
接下来说说硬件调试的问题,由于板子是自己做的,做的不是很好。元件焊好之后初步测试是能下程序的,但下过几次之后就开始
出现各种问题,程序下不了了,keil提示 编程算法加载不成功、TDO一直为高以及其他的问题,但是你放一阵,隔会在下有时又可
以成功,很明显,这是硬件问题,一开始我以为是JTAG接口电路不对,我原来的电路是这样的
9.jpg (29.93 KB, 下载次数: 0)
11:39 上传
然后给 TDO加下拉,不行。网上百度,看别人加的是上拉,然后我又改成上拉,还是不行。折腾来折腾去,最后看到这货
QQ图片01.jpg (138.27 KB, 下载次数: 0)
11:39 上传
好死不死 第四脚 是 AE 脚,他和第三脚接一起了,然后我知道问题在哪了,直接把这两货接到VCC,问题解决
折腾!!!JTAG不能稳定下载程序估计不是 AE 脚的问题,程序启动的时候才考虑这个脚,我搞混了。应该是焊接的问题,感觉好多脚没焊上,重焊了一遍,现在JTAG能稳定的使用了,之前虽然程序下进去了,但感觉都&
dj的世界一直很好
在线时间2162 小时
威望4712分
芯币43366枚
TA的帖子TA的资源
纯手工打造,很不错。
谢谢,手工的测试也累,问题多多的&
在线时间613 小时
威望1099分
芯币7939枚
E金币280枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯手工打造,很不错。
谢谢,手工的测试也累,问题多多的
dj的世界一直很好
在线时间613 小时
威望1099分
芯币7939枚
E金币280枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
接下来说说硬件调试的问题,由于板子是自己做的,做的不是很好。元件焊好之后初步测试是能下程序的,但下过几次之后就开始
出现各种问题,程序下不了了,keil提示 编程算法加载不成功、TDO一直为高以及其他的问题,但是你放一阵,隔会在下有时又可
以成功,很明显,这是硬件问题,一开始我以为是JTAG接口电路不对,我原来的电路是这样的
然后给 TDO加下拉,不行。网上百度,看别人加的是上拉,然后我又改成上拉,还是不行。折腾来折腾去,最后看到这货
好死不死 第四脚 是 AE 脚,他和第三脚接一起了,然后我知道问题在哪了,直接把这两货接到VCC,问题解决
折腾!!!JTAG不能稳定下载程序估计不是 AE 脚的问题,程序启动的时候才考虑这个脚,我搞混了。应该是焊接的问题,感觉好多脚没焊上,重焊了一遍,现在JTAG能稳定的使用了,之前虽然程序下进去了,但感觉都没有运行,得不到相应的效果。
dj的世界一直很好
论坛测评队员
EEWORLD 官方微信
EE福利 唾手可得
Powered by最近几天工程师的朋友圈们都已经被STM32峰会相关消息刷……
一场Pokemon
Go,让全世界的小精灵师都暴露了。因此,在……
2016年初,一场人机大战点燃了人工智能芯片的争夺战,而……
据Dialog的内部资料:快速充电智能手机市场的复合年均增……
整个工业物联网连接领域的发展给了MEMS传感器广阔的应用……
演讲人:谢亦峰时间: 10:00:00
演讲人:李唐山时间: 10:00:00
演讲人:杜建中时间: 10:00:00
预算:¥100,000-¥500,000预算:¥50,000-¥100,000
基于ADuC7026实现功率放大器监控的参考设计
[导读]  引言  考虑到日益迫近的全球能源危机和人们对环境保护的期望日益增高,节能对高效无线网络的运营至关重要。功率放大器(PA)是基站和中继器的核心,其功耗可能占基站总功耗的一半。对功率放大器进行监控不仅可以
  考虑到日益迫近的全球能源危机和人们对环境保护的期望日益增高,节能对高效无线网络的运营至关重要。功率放大器(PA)是基站和中继器的核心,其功耗可能占基站总功耗的一半。对功率放大器进行监控不仅可以提高功效、降低运营成本、提高输出功率和线性度,而且可以使系统操作人员及时发现和解决问题,进而提高可靠性和可维护性。
  ADI公司提供三种PA监测器1实现方案:一种是分立器件方案,一种是基于AD位的集成型监测和控制系统的方案,以及一种基于ADuC7026高精度模拟微控制器3的集成型方案。分立方案需要使用的器件较多,而且PCB布局复杂,PCB面积也较大,这些因素都导致较高的成本。AD7294的优点是集成度高、成本低且可靠性高,但缺点是需要使用外部微控制器(MCU)来实现PA监控功能。ADuC7026与AD7294具有很多相同的优点,主要的区别是ADuC7026包含MCU。另外,ADuC7026支持外部同步采样,这个特性在TD-SCDMA应用中很有用。
  本文介绍了一个基于实现监控的参考设计,功能包括设置输出功率、监测电压驻波比(VSWR)、监测横向扩散金属氧化物半导体(LDMOS)场效应管的漏极电流和温度,并在某个参数超过预定的阈值时发出报警信号。
  系统框图
  图1给出了PA监测器的系统框图。RF信号在经由可变电压衰减器(VVA)、ADL5323预驱动器、功率放大器和双向耦合器处理后,由天线发射出去。ADuC7026的片上MCU对PA模块中两级LDMOS的温度和电流及PA模块的前向和反向功率进行采样。MCU把采样数据发送到PC以便在用户界面(UI)上显示。操作人员可通过用户界面调整系统参数。
  图1:系统框图。
  PA监测模块
  温度监测:功率放大器的功耗会影响其性能。PA某些时候工作在较高的静态工作点,但输出功率较低。大量的能量在LDMOS器件上被转换成热量,这不仅浪费了能量,而且降低了可靠性。监测PA的温度,调整其静态工作点可以使系统达到最佳性能。
  图2给出了温度监测器的功能框图,该系统使用ADT75数字温度传感器来监测两个LDMOS级的温度。ADT75(有8引脚MSOP和SOIC封装形式可供选择)把温度转化成分辨率为0.0625℃的数字信号,其关断模式可将电源电流降低到3&A(典型值)。
  图2:温度监测器功能框图。
  图3给出了温度监测程序的流程图。在收到温度检测指令后,ADuC7026 MCU首先设置温度检测标识,然后通过I2C&总线从ADT75读出温度数据,并把该数据发送到PC。接着,程序检查ADT75的过温引脚(OS/ALERT)状态,如果温度超过了阈值,则点亮LED。在收到配置温度阈值的指令时,ADuC7026从PC读入配置数据并通过I2C总线把阈值温度写入到ADT75。当微控制器收到读入温度阈值的指令时,它从ADT75读入阈值温度并把它传送到PC。
  图3:温度监测程序的流程图。
  电流监测: :控制PA的漏极电流,使其在温度和时间变化时保持恒定,就可以极大地改善功放的总性能,同时又可确保功放工作在调整的输出功率范围之内。影响PA漏极电流的两个主要因素是PA的高压供电线的变化和片上温度的变化。PA晶体管的漏极电压很容易受高压供电线变化的影响。我们可以用高电压分流监测器来测量LDMOS的漏极电流。如果连续地监测漏极电流,当在电源上出现电压波动时,操作人员可重新调整栅极电压使LDMOS保持在最佳工作点。
  图4给出了电流监测器的功能框图。该系统使用AD8211高压高精度分流放大器来采集PA模块中两个LDMOS级的漏极电流。AD8211的增益为固定的20V/V,在整个工作温度范围内的增益误差为&0.5%(典型值)。AD8211缓存的输出电压直接输出到模数转换器,由ADuC7026的片上ADC进行采样。漏极电流阈值由AD5243数字电位计设定,ADuC7026通过I22C总线对AD5243进行控制。系统根据ADCMP600比较器的输出来判定漏极电流是否超过或低于阈值。如果漏极电流超过阈值,系统点亮相应的LED向操作人员报警。
  图4:电流监测器功能框图。
  电压驻波比(VSWR)监测: VSWR是天线系统的一个关键参数,它反映天线系统中元件之间的匹配程度。反向功率影响PA的输出功率,反向功率过大会导致发射出去的信号产生失真。因而,有必要监测VSWR使基站具有最优性能。
  图5给出了VSWR监测器的功能框图。该系统使用双向耦合器和AD8364双通道TruPwr&检测器来测量前向和反向功率。AD8364双通道有效值RF功率测量子系统可精确地测量和控制信号的功率。AD8364灵活性强,可方便地对RF功率放大器、无线电收发器AGC电路和其它通讯系统实施监测和控制,其输出可用于计算VSWR和监测传输线的匹配度。较大的VSWR值表明天线出现故障,操作人员应通过调整PA增益或电源电压对系统进行保护。
  图5:VSWR监测器功能框图。自动功率控制 :根据通信系统的要求,发射机必须确保功率放大器能满足发射的需要,调整基站发射功率保持在精准值,控制输出功率在覆盖允许范围内,不至过小无法满足网络规划时的覆盖距离要求,而减少小区覆盖范围,又不会产生过强的输出信号对相邻基站造成干扰。由于过功率会引起功率放大器饱和并使信号发生非线性失真,系统应提供过功率保护功能,保证功率放大器不工作在过功率条件下。基于上述原因,必须对输出功率进行测量和控制以使之保持稳定。
  图6给出了自动功率控制回路的功能框图,该回路包含双向耦合器、TruPwr检测器、微控制器和可变电压衰减器。双向耦合器把前向功率传送到TruPwr检测器,检测器跟踪信号幅度的变化。ADuC7026的片上ADC对检测器的输出采样。微控制器比较输出功率的实际值与期望值,并使用PID算法来调整控制电压偏差,使功率放大器工作在性能最佳的工作点上。
  图6:自动功率控制回路的功能框图。
  图7给出了PID算法的流程图。首先,该程序设定初始控制参数Kp、Ki和Kd并设定输出功率的期望值。然后,ADC对AD8364的输出采样,采样得到的数据经滤波后转换成功率。程序根据系统的传递函数计算出输出功率的期望值与实际值之差,以及下一个期望采样值和控制电压,并对DAC寄存器进行配置。这样就完成了一个采样和控制过程周期,这个过程不断循环。
  图7:PID算法的流程图。
  用户界面
  UI主要用来提供人机交互界面,实时显示检测数据,并响应操作员的输入命令。图8给出了用户界面程序的流程图。程序运行后,首先要打开串行端口并启动通讯链接。然后,可以选择各功能模块进行监测和控制。
  图8:UI控制的流程图。
  图9给出了一个温度测试结果。用户可以随时改变高温和低温阈值。在本例中,高温阈值从35℃改到31℃。当环境温度上升到新阈值之上时,过温警报灯变红,PC发出连续的警铃声。
  图9:用于显示温度测试结果的界面。
  硬件连接
  图10给出了PA监测器的演示电路板的连接图。主板由6V适配器供电,它与PC机之间通过串口线相连,以便下位机ADuC7026与上位机PC通信;通过ADF4252评估板产生的RF信号,连接到主控板的RF信号输入端,而后通过如下链路输出:RF输入&可调衰减器AV103&PA前级驱动功率放大器ADL5323&双定向耦合器ZABDC10-25HP&RF输出&频谱仪Agilent 4396B。其中ADF4252评估板的输出频率通过PC机控制,PC与ADF4252之间通过一根并口转串口的电缆连接。
  图10:PA监测器演示电路板的硬件连接。
  该参考设计为在蜂窝基站(GSM、EDGE、UMTS、CDMA、TD-SCDMA)、点到多点和其它RF传输系统中监测和控制PA提供了一个集成的解决方案。利用ADI公司的高精度模拟微控制器ADuC7026实现PA监测器应用可以增加灵活性,因为它具有多通道高性能12位ADC和DAC,以及片上可编程逻辑阵列(PLA)。其AD转换可通过外部转换输入或PLA转换输出来启动,这个特性对需使用同步信号对前向功率进行采样的TD-SCDMA应用系统很有帮助。PLA集成到芯片上的好处非常明显:用户可以根据要求轻松、简洁地实现各种逻辑。而且各种算法,例如PID控制、VSWR监测、温度监测和电流监测等算法都可通过ADuC7026来实现,无需使用其它控制器。从系统设计的角度来看,这个集成解决方案可节省PCB面积、方便PCB布局,降低系统成本并提高系统可靠性。
Analog Devices, Inc. (ADI),近日宣布推出两款高性能氮化镓(GaN)功率放大器(PA)模块,二者皆拥有同类产品最高的功率密度,可最大程度地缩减子系统的尺寸和重量。......关键字:
德州仪器(TI)正在通过新的参考设计努力解决无人机开发商所面临的技术挑战,这些新的参考设计有助于延长四轴飞行器以及其他非军用消费类和工业类无人机的飞行时间和电池寿命,以帮助它们更好地提供运送包裹、监控和通信服务,或者进行远距离协助。......关键字:
高安全性协处理器支持Arduino和ARM mbed平台,轻松实现原型设计......关键字:
正如Cisco视觉网络指数 (VNI) 预测,到了2019年,每个月将有五百万年的视频内容在互联网上传播。这意味着每一秒就有将近一百万分钟的视频在流动或者下载。为了迎合消费者的需求,有线电视行业在2013年10月宣布了DOCSIS 3.1标......关键字:
以提高小型蜂窝性能新产品可增强性能并扩充4G LTE网络的容量移动应用、基础设施与航空航天、国防应用RF解决方案的领先供应商Qorvo,
Inc.(纳斯达克代码:QRVO)日前宣布推出具有业界领先效率、适合小型蜂窝基站应用......关键字:
日前,联想高管对外强调,他们已经决定不再推出Motorola和Vibe等品牌智能手机,所有手机都将以Lenovo moto品牌进行销售,此举被解读为Motorola品牌彻底宣告死亡。......关键字:
据报道,印度信息技术部长 Aruna Sundararajan 日前在接受采访时表示,苹果有计划将所有的生产线到搬迁到印度。......关键字:
随着人工智能技术的发展,虚拟助手从科幻变成了现实,而亚马逊的 Alexa 尤为值得关注。在亚马逊发布 Alexa 开发者工具后,许多公司开始把 Alexa 融入到产品之中。......关键字:
我 要 评 论
热门关键词ADuC7026的存储器组织结构概述
& &ADuC7026模拟微控制器是ADI公司生产的高性能单片机,它在单个芯片内包含了一个高性能多通道ADC,一个16位/32位微控制器(MCU)和一个闪速/电擦除存储器。
& ADuC7026共有两个独立存储器模块:8KB的SRAM和64KB的片内Flash/EE存储器,其中62KB的片内Flash/EE可供用户使用,剩余2KB被保留用于厂家配置BOOT页面。这两个存储器模块的映射如下图所示。两个模块的映像图如下图所示:
注意默认情况下,复位之后,Flash/EE存储器被镜像到地址0x。通过REMAPMMR的Bit0位置0,可以重新把SRAM映射到0x。这种重映射功能在Flash/EE存储器部分有更详细描述。
&1.存储器的访问方式
ARM7体系结构把存储器空间看作是2^32个8位字节的线性地址空间,该线性空间内存储器不同模块的映射图如下图所示。
ADuC7026存储器结构配置为小端模式,也就是说数据最低有效字节位于最低位的物理地址,数据最高有效字节位于最高位的物理地址。
2. FLASH/EE存储器
64KB的Flash/EE为32K&16位格式,其中31K&16位是用户空间,1K&16位用于芯片内核。Flash/EE的页面大小为512个字节。62KB的片内Flash/EE可以存储用户代码和非易失性数据。数据和代码之间没有区别因为ARM代码及数据共用同一空间。Flash/EE存储器的实际宽度为16位,这意味着在ARM模式下每一次执行一个指令(32位指令),必须读取两次Flash/EE存储器。因此,当Flash/EE中执行程序时,为得到更高的存取速度, 建议使用thumb 代码。以thumb 代码模式存取Flash/EE的最大速度41.78MHz,而相应的以全ARM模式为20.89MHz。更多关于Flash/EE存取时间的描述可参见SRAM和Flash/EE中的执行时间部分。SRAM用户可以使用8KB的SRAM,它的组织形式为2K&32位,即两个字。如果SRAM被配置成32位宽的存储器阵列,ARM代码可以直接在SRAM中以41.78MHz的速度执行。更多关于SRAM存取时间的描述可参见SRAM和Flash/EE中的执行时间部分。
3.存储器映射寄存器
存储器映射寄存器(MMR)空间被映射到存储器阵列的最上方两页,并且我们可以通过间接寻址ARM7寄存器组来存取存储器映射寄存器空间。存储器映射寄存器(MMR)空间为CPU和所有片上外设提供一个接口。除了内核寄存器,所有的寄存器都在MMR区域。
下图所有的阴影区域是未占用或保留区域,不可以被用户软件访问。读取或写入一个MMR所需的存取时间取决于高级微控制器总线结构(AMBA)总线,这个总线用来访问外围设备。处理器有两个AMBA总线:高级性能总线(AHB)用于系统模块,高级外设总线(APB)用于低性能外围设备。访问AHB需要一个周期,访问APB需要两个周期。除了Flash/EE、GPIO和PWM以外,其它所有ADuC7026的外围设&备都连接到APB总线。
关注微信公众号ADuc7026学习-串口 - ADI参考电路 - 电子工程世界-论坛
后使用快捷导航没有帐号?
查看: 1486|回复: 8
ADuc7026学习-串口
在线时间613 小时
威望1099分
芯币7939枚
E金币280枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
本帖最后由 dj狂人 于
17:23 编辑
& && && && && && && && && && && && && && && && && && && && && && && && && &&&ADuc7026学习-串口
& && && & 折腾完串口插头,串口算是折腾出来了。现在信息收发都可以。& && && & 在串口开撸之前,首先我们来配置下系统时钟。& && && & ADuc7026内部集成有一个32.768KHz的振荡器,一个时钟分频器和一个锁相环(PLL)。 PLL可以锁住内部振荡器或外部32.768 KHz晶振,为系统产生一个稳定的41.78 MHz时钟(UCLK)。系统时钟默认8分频,也即工作在5.22MHz,所以在使用串口之前我们要把系统时钟配置为合适的值。& && && & 配置系统时钟我们需要用到PLLKEYx(x=1,2)、PLLCON、POWKEYx(x=1,2)、POWCON六个寄存器,其中 PLLCON 是一个八位的寄存器,用于选择时钟源(内部时钟源、外部晶振、P0.7引脚上的外部时钟)。其中7~6 保留。5&&32KHZ PLL 输入选择。置 1, 使用内部 32KHz 振荡器。默认值设置。清 0,使用外部 32KHz 晶振。4~2 保留。1~0 配置时钟模式。& && & 00 保留。& && & 01 PLL. 默认配置。& && & 10 保留。& && & 11 在 P0.7 引脚上的外部时钟。 POWCON 也是一个八位的寄存器,它用于配置系统时钟的工作模式以及分频。其中7 保留。6~4&&配置PC 工作模式。& && &&&000 Active 模式。& && &&&001 Pause 模式。& && &&&010 NAP 。& && &&&011 Sleep 模式。 IRQ0 至 IRQ3 和定时器2 可以唤醒该器件。& && &&&100 Stop 模式 IRQ0 至 IRQ3 可以唤醒该器件。& && &&&其他 保留。3 保留。2~0&&配置CPU 时钟分频。& && &&&000 41.78 MHz.& && &&&001 20.89 MHz.& && &&&010 10.44 MHz.& && &&&011 5.22 MHz.& && &&&100 2.61 MHz.& && &&&101 1.31 MHz.& && &&&110 653 kHz.& && &&&111 326 kHz. 而为了防止意外编程,写入PLLCON和POWCON寄存器时需要遵循特定的时序,即需要对PLLKEYx、POWKEYx写入相应的值。具体如下 Void SysClkInit(void){& & PLLKEY1=0xAA;& && &&&PLLCON=0x21;& &//PLL配置,选择内部32KHz振荡器以及默认设置&&& && &&&PLLKEY2=0x55;/*这时对PLLCON进行写操作的标准时序,即先对PLLKEY1写0xAA,在对PLLCON进行写操作,之后对PLLKEY2写0x55,不然对PLLCON写操作无效。同理,对POECON进行写操作也需要相应的操作,如下*/& && &&&POWKEY1=0x01;& && &&&POWCON=0x00;&&//配置CPU时钟,选择Active模式,不分频41.78MHz& && &&&POWKEY2=0xF4;}这样,我们的系统时钟便配置好了。
<p id="rate_33" onmouseover="showTip(this)" tip="赞一个!&威望 + 1 分
芯币 + 2 枚
" class="mtn mbn">
dj的世界一直很好
在线时间613 小时
威望1099分
芯币7939枚
E金币280枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
本帖最后由 dj狂人 于
17:19 编辑
& &&&接下来我们开始进行串口使用前的一些初始化,要初始化串口我们需要用到COMCON0、COMDIV0、COMDIV1、COMSTA0、COMTX、COMRX 这六个寄存器。其中
COMDIV0、COMDIV1 用于选择波特率(有两种方式发生UART波特率,普通的450 UART波特率发生器和小数分频器,这里我们讲的是普通的450UART波特率发生器)。
COMTX、COMRX分别是发送寄存器和接收寄存器。其中COMDIV0 和COMTX、COMRX共用同一个地址。当COMCON0寄存器的第7位为0时,COMTX和COMRX可以被存取。当COMCON0寄存器的第7位为1时,存取COMDIV0。
COMCON0 是线路控制寄存器。其中7 DLAB 分频锁存访问。置 1 ,可以访问COMDIV0 和COMDIV1 寄存器。清 0 ,可以访问 COMRX 和COMTX 寄存器。6 BRK 设置断点位。置 1 ,可以强制 SOUT 至零。清0,工作在正常模式。5 SP 附加奇偶校验位。置 1 ,则附加奇偶校验位:,若 EPS = 1 , PEN = 1,附加位为 1 ;若 EPS =0 ,PEN =1 则附加位为 0 。4 EPS 偶校验选择位。置 1 为偶校验。 清 0 为奇校验。3 PEN 奇偶校验使能位。置 1 ,发送奇偶校验位并进行奇偶校验。清 0 ,则不发送奇偶校验位也不进行奇偶校验。2 STOP 停止位。置 1 ,如果数据长度为 5 位则传送 1.5个停止位; 如果数据长度为 6 、 7 或 8 位则传送 2个停止位。不管停止位有多少,接收器只检查第一个停止位。清 0 ,在发送的数据中只有一个停止位。1~0 WLS 数据长度选择位: 00 = 5 位、 01 =6 位、 10 = 7位、 11 = 8 位
COMSTA0 为总线状态寄存器,在这里我们只用到它的第五位和最低位,第五位是COMTX 和 COMRX 空状态指示位 。如果COMTX 和 COMRX 同时空该位自动置 1 。当其中一个寄存器接收到数据后该位自动清 0 ;最低位则是数据准备就绪位。 COMRX 满时该位自动置 1 。读 COMRX 后该位清 0 。。(利用COMSTA0可以有效防止发送数据和接收数据发生冲突)。
dj的世界一直很好
在线时间613 小时
威望1099分
芯币7939枚
E金币280枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
本帖最后由 dj狂人 于
17:20 编辑
& &&&当然和UART有关的寄存器不止这几个,但是实现简单的串口工功能用到这几个就够了,接下来我们编程实现串口的初始化以及发送/接收数据。
#include &Aduc7026.h& Void SysClkInit(void);Void Send_StringChar(unsignedchar * dat);int main(void){& & unsigned char i=0;& && &&&unsigned char receive[10];&& & && &&&SysClkInit();/*配置系统时钟,系统时钟默认为5.22MHz,这里配置成41.78MHz,SysClkInit()函数相关声明前面有讲。*/ & && &&&GP1CON = 0x11;/* 将P1.0和P1.1分别配置为rx和tx引脚。ADUC702X 系列单片机有两个 UART 串口,分别是P1.0(SIN) & P1.1(SOUT), P0.7(SIN)& P2.0(SOUT)。*/& & COMCON0 = 0x080;& && &// 将DLAB置位寻址COMDIV0和COMDIV1& & COMDIV0= 0x088 ;& &&&& & COMDIV1= 0x000;& && &// 配置DIV0和 DIV1,这里是设置波特率为9600& & COMCON0= 0x003;& && &// 将DLAB 清零,方便后面寻址COMTX或COMRX & & while(i&5)//接收够五个单字节字符的数据后退出循环& & {& && & while(!(0x01==(COMSTA0 & 0x01))); //等待接收数据& && & receive[i++] = COMRX;& & }& & Send_StringChar(receive);& & //打印接收到的信息& & Send_StringChar(&\n&);& && &&&//打印换行符& & Send_StringChar(&Hello EEWorld World\n&);& && &&&//打印&HelloEEWorld World\n&
& && &&&While(1);}Void Send_StringChar(unsignedchar * dat){& & While(*dat != ‘\0’)& && & {& && &&&while(!(0x020==(COMSTA0 & 0x020)));& && &&&COMTX = *dat++;& && & }} VoidSysClkInit(void){& & PLLKEY1=0xAA;& && &&&PLLCON=0x21;& &//PLL配置,选择内部32KHz振荡器以及默认设置&&& && &&&PLLKEY2=0x55;& && &&&POWKEY1=0x01;& && &&&POWCON=0x00;&&//配置CPU时钟,选择Active模式,不分频41.78MHz& && &&&POWKEY2=0xF4;}
& & 这样我们便实现了简单的使用串口进行数据的接收/发送。好,撸完收工
串口.png (31.08 KB, 下载次数: 0)
17:14 上传
dj的世界一直很好
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
& & 。。。。。。。。。。。。。。。。
在线时间613 小时
威望1099分
芯币7939枚
E金币280枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
。。。。。。。。。。。。。。。。
dj的世界一直很好
在线时间335 小时
芯币1100枚
E金币317枚
TA的帖子TA的资源
纯净的硅(初级), 积分 726, 距离下一级还需 74 积分
纯净的硅(初级), 积分 726, 距离下一级还需 74 积分
没用过ADI的单片机,只能这里精神支持了
恩 谢谢,ADuc7026这款芯片还是不错的,它里面的硬件资源不多也不少,给人一种小巧的感觉。特别是它的寄存器少。要不我也没法那么嚣张的直接面对寄存器编程,哈哈&
如果天空是黑暗的,那就摸黑生存;如果发出声音是危险的,那就保持沉默...但不要习惯了黑暗就为黑暗辩护;不要为自己的苟且而得意;不要嘲讽那些比自己更勇敢热情的人们。人可以卑微如尘土,不可扭曲如蛆虫。
在线时间613 小时
威望1099分
芯币7939枚
E金币280枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
没用过ADI的单片机,只能这里精神支持了
恩&&谢谢,ADuc7026这款芯片还是不错的,它里面的硬件资源不多也不少,给人一种小巧的感觉。特别是它的寄存器少。要不我也没法那么嚣张的直接面对寄存器编程,哈哈
楼主真是与日俱进!&
dj的世界一直很好
在线时间2770 小时
威望1784分
芯币11015枚
TA的帖子TA的资源
恩&&谢谢,ADuc7026这款芯片还是不错的,它里面的硬件资源不多也不少,给人一种小巧的感觉。特别是它的寄存器少。要不我也没法那么嚣张的直接面对寄存器编程,哈哈
楼主真是与日俱进!
主要是论坛送的芯片给力&
在线时间613 小时
威望1099分
芯币7939枚
E金币280枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
纯净的硅(中级), 积分 1099, 距离下一级还需 101 积分
楼主真是与日俱进!
主要是论坛送的芯片给力
dj的世界一直很好
EEWORLD 官方微信
EE福利 唾手可得
Powered by

我要回帖

更多关于 aduc7026.h 的文章

 

随机推荐