suifeng6510 发表于 2013-7-4 14:32:39

Atmega128如何软件编程设置在PD5端口产生周期为125 ns的方波...

今天在网上看到一篇文章主要讲的是基于ATmegal28控制器和CH375接口的高速数据采集系统

文章中提到“ATmegal28采用16 MHz晶振,机器周期为62.5 ns。通过软件编程设置在PD5端口产生周期为125 ns的方波,作为AD9220采样的时钟信号(CLK)。”我查看了PD5的第二功能引脚是XCK1 ,不知道如何软件编程设置PD5口产生125ns的方波信号,125ns要求的频率很高啊   16Mhz    我尝试用PB5PB6 CTC模式
DDRB |=0x30;
TCCR1A = 0x50;
TCCR1B = 0x09;
OCR1A= 0;

PB4 PB5口能输出125ns方波信号
但是PD5怎么产生一直没弄明白,还请知道的朋友帮忙看下!!

suifeng6510 发表于 2013-7-9 15:56:49

没有人会吗

jim20090418 发表于 2013-7-9 18:38:13

要輸出常態的OSC/2方波,只能利用有PWM輸出的引腳,

很不幸PD5剛好就沒有PWM輸出的功能,所以無解.

如果只需要短時間的OSC/2方波給A/D採樣的時鐘信號,

那有個方法可行,就是....

SBIPORTD,5
CBIPORTD,5


A/D採樣一次看需要要少的時鐘信號上面的指令就做幾次,

只不過這樣一來,在模擬時鐘信號的期間內CPU就無法處理其他的事情了,

而且...如果是要求A/D一直處在連續轉換的情況,那CPU會永遠做不了其他事的.

suifeng6510 发表于 2013-7-10 09:30:28

jim20090418 发表于 2013-7-9 18:38 static/image/common/back.gif
要輸出常態的OSC/2方波,只能利用有PWM輸出的引腳,

很不幸PD5剛好就沒有PWM輸出的功能,所以無解.


首先还是要谢谢 Jim20090418的帮助
这问题其实我也想过,对于AVR单片机 这么高的频率的一个信号 单纯的使用普通I/O口的电平翻转或者SBI PORTD,5      CBIPORTD,5不是一个很好的解决方法,效率较低且信号达不到所需的周期125ns,
那还是通过PWM引脚输出125ns占空比为50%的方波信号。
页: [1]
查看完整版本: Atmega128如何软件编程设置在PD5端口产生周期为125 ns的方波...