本版名称: 【DSP】

版       主: flyingdsp

EEWORLD欢迎您,请先注册登录

[TI C5000&C6000] TLC3578求助!!!

TLC3578求助!!!

向高手求助。小弟近日在使用dsPIC33F系列控制TI的AD芯片TLC3578,可是没有调出来。请问有谁用过这款芯片,在

单片机程序中如何处理?能否给出TLC3578的样例代码,或者讲解一下这块芯片如何配置,如何使用。附上小弟的程

序和TLC3578的手册。我确信SPI的通讯没有问题。请帮助小弟解决一下,非常感谢。

 

/////////////////////////////////////////////////////////
/////CODE  FOR  TLC3578  ////////////////////////////////
void main()
{
// Local variables definitions
WORD tempAD;
int tt;
BYTE SS1;


//*******************Configure PLL prescaler, PLL postscaler, PLL divisor
PLLFBD=38; // M=40
CLKDIVbits.PLLPOST=0; // N1=2
CLKDIVbits.PLLPRE=0; // N2=2
// Wait for Clock switch to occur
 // Clock switching to incorporate PLL
__builtin_write_OSCCONH(0x03);  // Initiate Clock Switch to Primary
// Oscillator with PLL (NOSC=0b011)
__builtin_write_OSCCONL(0x01);  // Start clock switching
while (OSCCONbits.COSC != 0b011);
while(OSCCONbits.LOCK != 1);
 


//********OSC CLK init end**************************************
LongTimer = 0;
IO_setup();
SPI2_Init();
//Timer45_Init();

LED = 0;//LED ON;

 

//////////////////////////////////////////////////////////////
// Initialize AD module
tt = 10;
ADCS = 0;//片选AD
Nop();
SPI2BUF = 0xA000;//进入软编程模式_WRITER_CFR_MODE
while(!SPI2STATbits.SPIRBF);
SPI2STATbits.SPIROV = 0;
tempAD = SPI2BUF;
ADCS = 1;
Nop();
Nop();
ADCS = 0;
Nop();
tt = 10;
SPI2BUF = 0xAA00;      //单端输入,短采样时;00 for INT mode ,04 for EOC mode
//SPI2BUF = 0xA800;       // hardware default mode
while(!SPI2STATbits.SPIRBF);
tempAD = SPI2BUF;
SPI2STATbits.SPIROV = 0;
ADCS = 1;

//**************************************

while(1)
 {
 SADres = ReadAD(0X07);
 }
}
//************************Program main loop ends**************************


WORD ReadAD(BYTE CHx)
{
  int tick;
  WORD AD_res,tmpad;
  //tick = 10;
  //CHx = 0x7000;
  ADCS = 0;
  Nop();
  SPI2BUF = 0x7000;
  while(!SPI2STATbits.SPIRBF);
  //ADCS = 1;
  while(ADEOC);
  //tick = 10;
  //ADCS = 0;
  SPI2BUF = 0x0000;
  while(!SPI2STATbits.SPIRBF);
  AD_res = SPI2BUF;
  SPI2STATbits.SPIROV = 0;
  ADCS = 1;
  AD_res /=4;
  AD_res &= 0x3FFF;
 
  return AD_res;
}
  

附件

 EEWORLD提示:为减少服务器的压力,请尽量不要使用迅雷等下载软件。
TLC3578.pdf (1.02 MB)

2010-9-1 20:34, 下载次数: 8

推荐博客

TOP↑

SPI 的时序就是那样,片选、一个时钟、一个输入和输出。
一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!

TOP↑

24小时排行榜

最近访问的版块