创龙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. 下载一下. ...
随机推荐
- codeforces 676C
C. Vasya and String time limit per test 1 second memory limit per test 256 megabytes input standard ...
- 【luogu P3369 普通平衡树(Treap/SBT)】 模板 Splay
题目链接:https://www.luogu.org/problemnew/show/P3369 #include <cstdio> #include <algorithm> ...
- sql字段为datetime,插入''的时候默认为1900年
Microsoft SQL Server Database Engine 用两个 4 字节的整数内部存储 datetime 数据类型的值. 第一个 4 字节存储“基础日期”(即 1900 年 1 月 ...
- css的基础用法(上)
css定义: CSS层叠式样表(Cascading Style Sheets)是一种用来表现html或xml等文件样式的计算机语言.CSS不仅可以静态的修饰网页,还可以配合各种脚本语言动态地对网页个 ...
- Eslint代码规范
- docker官方文档翻译4
转载请标明出处: https://blog.csdn.net/forezp/article/details/80186178 本文出自方志朋的博客 第四篇:Swarms 准备工作 安装Docker版本 ...
- 2018 Wannafly summer camp Day2--New Game!
New Game! 描述 题目描述: Eagle Jump公司正在开发一款新的游戏.泷本一二三作为其员工,获得了提前试玩的机会.现在她正在试图通过一个迷宫. 这个迷宫有一些特点.为了方便描述,我们对这 ...
- C++练习--实现客户机(CLIENT)类
实现客户机(CLIENT)类. 定义字符型静态数据成员SeverName,保存其服务器名称: 整型静态数据成员ClientNum,记录已定义的客户数量: 定义静态函数ChangeSeverName() ...
- 【CodeForces 660D】Number of Parallelograms(n个点所能组成的最多平行四边形数量)
You are given n points on a plane. All the points are distinct and no three of them lie on the same ...
- duilib属性列表
<?xml version="1.0" encoding="UTF-8"?> <!-- 可能有错漏,欢迎补充.wangchyz(wangchy ...