创龙DSP6748的DAC例程研究
1. 创龙DSP6748开发板驱动TL5724这个DAC,输出指定的电压值,此程序是使用 IO 口模拟 SPI 实现与 TL5724 模块的数据交互。
2. 首先是初始化PSC函数
void PSCInit(void)
{// 使能 GPIO 模块
PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
}
2. DAC的读写函数
// 管脚复用配置
GPIOBankPinMuxSet();
ConfigAD5754R();
// 输出电压配置
cstr = DAC_Register | DAC_Channel_A | DACOut(, );
WriteToAD5754RViaSpi(&cstr);
3. GPIO的配置
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX()) = (0x80000000);
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX()) = (0x00880800);
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX()) = (0x00000080); // 配置管脚为输出状态
GPIODirModeSet(SOC_GPIO_0_REGS, , GPIO_DIR_OUTPUT); // GPIO6[2]
GPIODirModeSet(SOC_GPIO_0_REGS, , GPIO_DIR_OUTPUT); // GPIO6[7]
GPIODirModeSet(SOC_GPIO_0_REGS, , GPIO_DIR_OUTPUT); // GPIO2[10]
GPIODirModeSet(SOC_GPIO_0_REGS, , GPIO_DIR_INPUT); // GPIO2[11]
GPIODirModeSet(SOC_GPIO_0_REGS, , GPIO_DIR_OUTPUT); // GPIO2[13] // LDAC
GPIOPinWrite(SOC_GPIO_0_REGS, , GPIO_PIN_LOW); // LDAC
GPIOPinWrite(SOC_GPIO_0_REGS, , GPIO_PIN_LOW); // CLK
GPIOPinWrite(SOC_GPIO_0_REGS, , GPIO_PIN_HIGH); // SDIN
GPIOPinWrite(SOC_GPIO_0_REGS, , GPIO_PIN_HIGH); // SYNC
4. 其实读写都是模拟的GPIO而已
void WriteToAD5754RViaSpi(int *RegisterData)
{
int ValueToWrite = *RegisterData;
int i;
// SPI start
SET_SYNC();
delay();
CLR_SYNC(); // bring CS low
delay();
// Write out the ControlWord
for(i = ; i < ; i++)
{
SET_SCLK();
delay(); if(0x800000 == (ValueToWrite & 0x800000))
{
SET_SDIN(); //Send one to SDI pin
}
else
{
CLR_SDIN(); //Send zero to SDI pin
}
delay();
CLR_SCLK();
delay();
ValueToWrite <<= ; //Rotate data
delay();
}
// SPI ends
SET_SYNC();
delay();
}
5. 插上子板卡,烧写程序,测试,用万用表量下电压,对比串口输出的电压值换算一下。
创龙DSP6748的DAC例程研究的更多相关文章
- 创龙DSP6748开发板上电测试-第一篇
1. 创龙DSP6748开发板测试.2980元的售价很高,我估计新的1200元比较合适,当然创龙定价是按照供需关系的.仿真器XDS100V2卖598元,真是狮子大张口. 2. 上电是5V-2A的电源. ...
- 创龙DSP6748开发板LED闪烁-第一篇
1. 首先看下DSP6748的GPIO寄存器的文档,先看下框图,有这个框图,一目了然,输入和输出很清楚 2. 看下寄存器部分,对应上面的图,问题在于,DSP6748有多少个GPIO?最多144个,下一 ...
- 创龙DSP6748开发板SYS/BIOS的LED闪烁-第2篇
1. 作为1个456MHz的处理器,不跑个操作系统说不过去,直接打开工程\Demo\SYSBIOS\Application\GPIO_LED,主函数比较简单 // 创建任务 Task_create(t ...
- 创龙DSP6748开发板驱动LCD屏
1. DSP6748内部有2个LCD控制器,Raster Controller 光栅控制器和the LCD Interface Display Driver (LIDD) controller 控制器 ...
- 创龙DSP6748学习之RS485收发
1. 先看下原理图,第一个问题,RS485其实就是使用的串口USART1,同时485的输出脚之间接120欧姆的电阻. 遇到个问题,为什么有两个使能引脚?还有RS485_A和RS485_B为什么分别接上 ...
- 创龙OMAPL138的SPI FLASH读写
1. 目前最大的疑问是OMAPL138和DSP6748的DSP部分是完全一样的吗(虽然知道芯片完全是引脚兼容的)?因此现在使用OMAPL138的DSP内核去读写一下外部的SPI FLASH芯片,先看下 ...
- 创龙TMS320C6748开发找不到 tl.dsp.evm6748的问题研究
1. 使用中遇到问题,看了一下帖子说是把tl.dsp.evm6748换成ti.platforms.evm6748可以编译过去.这个包是在XDCtools里面的. js: "D:/ti/ccs ...
- 创龙TMS320C6748开发板串口和中断学习笔记
1. 硬件上,底板有2个串口,UART1和UART2(使用了MAX3232电平转换芯片),其中UART2也可以转RS485的. 2. 看下数据手册部分,不过一直不理解过采样的意思,16字节的FIFO ...
- 创龙OMAPL138开发板测试(1)
1. 里面的DSP内核是否能单独使用?先测试一个LED灯的例程先,仿真器连接上开发板,显示有C6748和PRU还有ARM9.对了,板子的拨码开关要01111,是DEBUG模式才可以. 2. 下载一下. ...
随机推荐
- extension Kingfisher where Base: Image:泛型类型的具体化与实例化
具体化:针对特定的类型参量进行二次定义: 实例化:实例化:
- Gym - 101334F 单调栈
当时我的第一想法也是用单调栈,但是被我写炸了:我也不知道错在哪里: 看了大神的写法,用数组模拟的: 记录下单调递增栈的下标,以及每个数字作为最小值的最左边的位置. 当有数据要出栈的时候,说明栈里的数据 ...
- Python-Url编码和解码
一.为什么要进行Url编码 url带参数的请求格式为(举例): http://www.baidu.com/s?k1=v1&k2=v2 当请求数据为字典data = {k1:v1, k2:v2} ...
- P1272
P1272 重建道路 题目描述 一场可怕的地震后,人们用N个牲口棚(1≤N≤150,编号1..N)重建了农夫John的牧场.由于人们没有时间建设多余的道路,所以现在从一个牲口棚到另一个牲口棚的道路是惟 ...
- 解决:fontawesome-webfont.woff2?v=4.6.3 404 (Not Found)
用Bootstrap里面的字体,你项目中会报一个错,一个字体找不到,但我们的项目中却是存在这个字体的. 解决方法: 修改我们的Web.Config文件
- js点赞效果图
点赞时点赞图标会发生变化. html部分: <img src="img/icon_thumb_up.png" id="imgs1" style=" ...
- 分布式压测系列之Jmeter4.0第一季
1)Jmeter4.0介绍 jmeter是个纯java编写的开源压测工具,apache旗下的开源软件,一开始是设计为web测试的软件,由于发展迅猛,现在可以压测许多协议比如:http.https.so ...
- Python基础—11-面向对象(01)
面向对象 面向对象 与面向过程对比: 面向过程:数学逻辑的映射,学会做个好员工 面向对象:生活逻辑的映射,学会做个好领导 生活实例: 类: 人 手机 电脑 对象: 我的手机.女朋友的手机 你的那部T4 ...
- iOS自动打开闪光灯
现在好多应有都具备扫码功能,为了减少用户操作,一般会在光线比较暗的时候,自动打开闪光灯: 1.导入头文件 #import <AVFoundation/AVFoundation.h> #im ...
- Lucas定理及应用
额,前两天刚讲了数据结构,今天我来讲讲组合数学中的一种奇妙优化——Lucas 先看这样一个东西 没学过lucas的肯定会说:还不简单?处理逆元,边乘边膜呗 是,可以,但注意一下数据范围 你算这一次,你 ...