by Guido Socher (homepage)
��������:
Guidoϲ��linux������Ϊ�����ϵͳ�����ҵ������ܵ���Ȥ����Ϊ����DZ�����������
Ŀ¼:
|
��LCD��ʾ��RS232�ӿڵ�1Hz-100Mhz Ƶ�ʼ�
ÕªÒª:
���ļ�������AT90S4433ϵ�С��ҽ����������Ķ�һ��ǰ����ƪ����Atmel ΢�����������ƣ���ע���������㣺:
- ������װ��ʹ��Linux AVR ���������Լ���ν����û�Ӳ��Ŀ��ϵͳ��
2002 ������, AVR��Ƭ��GCC��� - ����������Լ���ӡ����·��
2002 ������, �����Linux��������һ��LCDǰ�������
��һ���������һ�����ԴӲ���1Hz��100MHz��Ƶ�ʼơ���Ҳ������������¼�¼���������˴�����·��
��ֻҪ��һ����Ч���������壩�����Ƶ�ʼ���һ��LCD��ʾ��������RS232�ӿڣ�������ʾ��linuxϵͳ
�ó������ݡ�
����
���Ҳ��򷽲��źŵ�Ƶ������ÿ�����񵴵Ĵ�������ʾ�ġ�Ϊ�˼��һ���������źŵ�Ƶ�ʣ�
���ǽ���ֻ���������񵴴����Ϳ����ˡ����ַ���������Ҫ�������������źŵĵ�һ��
г����Ƶ�ʡ�Ϊ�˲�����������Ƶ�źţ������Ҫ��һ��Ƶ�׷����Dz���������
���ǣ�����Ӳ����˵������һ�����ѵIJ��֡����ڣ�����Ҫ���һ�����������������ź�
��Ƶ�ʼơ�����������ȡ�����ź���ij��ʱ�����Ƶ���Dz���ġ�
���ǵ�Ƶ�ʼƷ���������:
-
ͨ��һ���Ƚϵ�ѹ����СһЩ�źŵ�ֱ������������ת���ɷ����źš�
-
��ÿ��ʱ���������������������һ�̶���ʱ��������֡�
��������
Ҫ����Ƶ�ʼ�����Ҫ��������:
1 x Atmel At90S4433 Microcontroller
1 x 28pin 7,25 mm IC socket
2 x 16pin IC socket
1 x 1pin IC socket
1 x 14pin IC socket
No IC sockets for the MAX903 and the 74F74. Solder them directly to the
board!
1 x MAX232
1 x 4,194304MHz crystal
1 x LEDs (green)
1 x BC557 PNP transistor
4 x 1uF capacitor (biased)
2 x 27pF ceramic capacitor
4 x 10nF mini ceramic capacitor
3 x 100nF mini ceramic capacitor
1 x 200nF mini ceramic capacitor
1 x 0,47uF mini ceramic capacitor
2 x resistor 470 Ohm
1 x resistor 470K
2 x resistor 100 Ohm
3 x resistor 1k
5 x resistor 10k
3 x resistor 47K
1 x resistor 220 Ohm
3 x resistor 4K7
1 x resistor 3k3
1 x resistor 2k2
1 x resistor 47 Ohm
1 x 4K7 potentiometer (as small as possible), if you want you can
replace this potentiometer by a pair of resistors. This potentiometer is
used to set the
LCD contrast. For my LCD displays 100Ohm together with 1K gives a
good contrast.
1 x Z-diode 4.3V
2 x small touch buttons
1 x 470uF capacitor (biased)
1 x 4,7uF capacitor (biased)
1 x 1N4001 diode
1 x 74HC02 TTL IC
1 x 74F74 fast TTL IC
1 x 74HC390 TTL IC
1 x LM393 voltage comparator
1 x MAX903 high speed voltage comparator, 8 Pin plastic DIP package, you can
order it directly from www.maxim-ic.com in case your local dealer does not have
it in stock.
1 x 7805 5V regulator
1 x 2 line 20 character LCD display with HD44780 compatible
interface. With our without backlight (16 pin or 14 pin)
All LCD displays that I have ever seen with 14 or 16 pins on the
connector were HD44780 compatible. You can also use a 3 or 4
line display but then you will need to modify the software a
bit.
���⣬������ҪһЩ�ߡ�����ͷ��BCD����Դ��RS232������һ��9V�ı�ѹ�����߽���
ֱ������Դ��150mA)����ʱ����Ҳ����ͨ��ֱ�Ӳ���ǽ���ϵ����ڸ����ֵ����ṩ��
Դ�Ĺ�������õ���Դ��
Ô��ͼ����·��ͼ
��ʹ��������linux�µ� eagle
�����Ô��ͼ����·��.
���������һЩ���˲�������ĵط�:���е�оƬ��Դ���붼��5V�������ڽ��е�������
����ʱ��ᷢ��һЩ������ʵ�ϣ��������ȫ��ȷ��
Ô��ͼ (����Ŵ�):
��·��ͼ (����Ŵ�):
��·ͼ���ر�ΪһЩ���Ӱ�������Ƶġ�ֻ����ɫ�Dz��������Ҫ������
��·��ġ���ɫ�����ǵ��ߡ�����һ�鵥��ӡ�ư��Ƿdz����׶��Ҳ�����Ҫ��
����ȷ�������԰�����̵���·����������(��ɫ)����Eagle�Ҳ�����ô����
���յ����ͼ�԰�ɫ��Ϊ�������ڴ�ӡ:
��ɫ������ӡ�ư� (ע: �Ⲣ��������������ӡ�ư���ļ���
.)
���е� Eagle �ļ���������(linuxfreqcount-0.4)�������У������Դӱ�����
����������������.
������
AT90S4433�������ڲ���������һ����16λ����һ����8λ�ġ�����������õ�
8λ�ļ�����,ͨ��AT90S4433ʱ�Ӿ���������һ����ȷʱ����Ϊ�˴ﵽ���Ŀ�ģ�
������һ��4.194304MHz�ľ���,ͨ��256�ڲ���Ƶ������8λ�������������鿴A
T90S4433�������ֲᣬ�ڱ���ĩβ������ӿ����أ�������8λ������ÿ�����ʱ����һ��
�жϡ�Ҳ����˵�����ǵõ���һ��4.194304MHz/(256��256)=64Hz��ʱ����ͨ��ʹ
��һ��Ñ������,���ǿ��Եõ�һ��1Hz�����64Hz����Ĺ��ܵ��á�
���ڣ������Ѿ�ӵ��һ������ͨ������ģʽ�����õ�1Hz����64Hz����Ĺ���ģ�顣������
����Ҫ�����ǣ�ͨ���������������16λ����������ʾ����������16λ�ļ�������AT
90S4433��5�ţ��������ź��ɱ����ź��ṩ��
AT90S4433�������źŽ��в�����ʹ�����ڲ�ʱ�ӱ���ͬ�������ݲ����������ǿ������
�޶ȵIJ���ӽ�1/2�ڲ�������ź�Ƶ�ʡ��������ۼ��ޡ�ʵ���ϣ����ǿ�����AT90S4433
�������ﵽ1.5MHz���źš�
������Ҫͨ����������������Ƶ�ʡ������Ϊʲô���ﻹ��Ҫ74f74��74HC390�ˡ�74F74
����������1/4�첽��Ƶ��74HC390��Ϊ1/25��Ƶ�����Dz���ֱ����74HC390����1/100
��Ƶ����Ϊ����߹���Ƶ����25MHz��
��·�ṩ�����ź����롣һ���Ǿ���1/100��Ƶ����һ����ֱ������ġ���������Ҫ���
�źŵ�Ƶ����ѡ�����е�һ�������(����ͬʱ����)��
�����ֻ�Խӽ�1��5MHz����Ȥ���������óɲ�����Ƶ�Ŵ�����Ƶ����Ӧ������Ҳ���Թ���
һ�����װ汾�ļ�����������ʹ��MAX903��74f74��74hc390�����Կ���ʹ��ͬһ����
������·�塣
ʹ��2����ѹ�Ƚ��������ٵ�MAX903��LM393����Ŀ����Ϊ�˷Ŵ��źŲ����������źŲ��������źš�
�������·�弰����ʱҪ�ر�ע�����Ƚ��������Լ��񵴡������ע�⵽MAX903��һ��
�����ٱȽ����������ʹ��һ�����������źţ�����һ��һ��100KHz��һ��1MHz�źŵ��ƣ�
��ͻ���100KHz�źŹ���ʱ�����һЩ���ӵ�1MHz�����źš�
����MAX903�ϵ�220K����������������������������һ���̶������������Լ���
�Ͳ�����������źű�������
ͨ��RS232��2���ᴥ���أ�������ؼ�ģʽ���أ������ƴ������Ĺ������̡�
2������ͨ��ͨ��һ�����ţ�74hc02)�������74hc390���������Ȼ��
�߼���ƽ��1���������û������1/100����ˣ����Ŷ����ֹ�ź����롣��˵�
��ı����ģʽ���������ťʱ��74hc390�ͻᱻ���(pin2)��
����
�������������ж�ģʽ��������2����������������������������������ã�
��AT90S4433�����ֲ��������÷dz���ϸ���μ��ο��ļ������������Ĵ�������
һ��ֵ�����Ƿdz���Ҫ���ظ���Ҳ�Ƿdz���ζ�ģ��������ﲻ�����ᵽ��һ�㡣Ƶ
�ʼ��߼��ľ��󲿷���
linuxfreqcount.c
����ļ���ʵ�֡��������еij�����LCD��
UART���ȵȶ���Ϊ���ļ����ڡ���дAT90S4433����ʱ�����ע����򳤶Ȳ��ܳ���
128B RAM����Щ�������DZ��������ġ���ˣ��������Ƕ�׹��ܵ���ʱ��Ҫ�õ�̫��
�IJ��������ȿ���ʹ�ñ�ʶ����ȫ�ֱ�����Ϊ���ݲ�����
������������ȷ���ú󣬳���SIGNAL(SIG_OVERFLOW0)����64HzƵ�����á����ǽ���
��16λ������������һ���ź���(hflag)����һ��������������ĺ���handlecounterresult()
����1Hz�ſ������������ǿ���ֱ�����ü�������ֵ�����ǵ���1/64�ſ�������ʱ�����DZ��뽫����
����ֵ����64������΢���������Dz�����̫�����ѧ���㣨����û��32λ���ڴ������������˵��ǣ�
����64ֻ��Ҫ����6�Ρ�������3��8λ�����������ս��(counterval[3]).
�������ǿ��Եõ�һ��24λ�ļ��������Ϊ������ʾ�������뽫��ת���ʮ���Ƶ�ASCII�롣
Printf�õ�����õģ������Dz����������������Ϊ���ᳬ�����ǵĴ洢��Χ��
���ǽ�24λ���ֳ���10�õ�������Ѷ�������ת����ʮ���������������ʮ��������AT90S4433���ܽ�
��24λ���㣬�������ֻ����8λ����ģ�飨function divby10())����������������Чֵ��ASCII������
��ÿ����������������ṩһ����ASCII��������֣�function longtoascii())��
ת������ASCII�ַ�ͨ��RS232�ӿڱ����͵�LCD��ʾ����ʾ������
����ӡˢ��·��
���������а�����һ��������linuxfcount.ps)�����ǵ�·ͼ���Ҹ��˾��ú�����̫С�ˡ���ˣ�
��ǿ���Ƽ����㶯��ʴ����·��ǰ����������Щ�ط����ǺŽ��������󡣹�������Լ���������·���
�����������ĵ�����ϸ�����ˣ�2002��5��, �����Linux��������һ��LCDǰ�������
��Щ���߸���˵��Kontakt Pausklar-21 ���Ϻ����ҵ�����Ҳ������ú�������
�������͵�һ�������㽫���ӽ���ʴ��֮ǰ�����÷�����ú�Ͳ�ϴ�ɾ���
���ΪƵ�ʼ�����һ�����?
������һ��ҵ����Ӱ����ߣ�һ������Ҫ���������Ϊ�Լ���������ĵ���·������һ����ǡ�
ͨ���ƶ�һ�����Ͻ�ĺ����Ǻܰ���ģ������Լ������뾫ȷ������һƬ����Ƭ�Dz����׵ġ�
���Ѿ��ҵ���һ�ּ������ֿ���ȥ��רҵˮ׼�ķ���������ɼľ�����ߺͽǣ������Ը����ϵ����ᣬ
ʹ�����Եû���һ�㡣��ˮ�������������ڱڡ����ӵ�ǰ�����������ײ�������һЩ����Ƭ��
�Ҳ���Ҫ�������ǡ�ֻҪ�����ǰ���ȷ�ijߴ�úþͿ����ˡ��������ͼƬ�п��������Ҳ�ľ���
�����ӡ����������Կ�����ɺ�����ӣ����ϵĸDz��ڣ���
װ�����
�ں��Ӱ��ӵ�ʱ��Ҫ�ر�ע���Ƶ����MAX903��74F74������衢���ݣ���һ������£�
�Ҷ��Ƽ�ʹ�ü��ɲ����������ڷ�������ʱ�������Ƚ����ס�������������оƬ����ʹ�ü��ɲ�����
�������ٲ��������𵴸��š��ڵ����Դ֮����˲����ݱ���ʹ��Сһ���Ƭ���ݡ�������ݵĴ�С
������10nF��100nF֮�䡣
��������ĿǰΪֹ��LinuxFocusϵͳ����Ƶ���ӵ�һ���·�塣�ҽ��⣬�ߺ��ӱ߽��в���
��ͬ�������Ƿ������������磺
- ���Ƚ��ǵ�Դ���֣���7805�ȣ����������ϲ������Ƿ�����
- ���������е�Ԫ���������ǣ�����ֻΪ������ʹ�ò�����
-
LinuxFocus 0.4�汾�������а�����һ�����Գ���avr_led_lcd_test.c����������΢������
��LED��LCD��������װ����ĵ����ϡ�����̵��°��յ�һƪ����AVR������
(2002 ������, AVR��Ƭ��GCC���)
�������������Ӻã�Ȼ�����"make testload"�� linuxfreqcount-0.4�������а�װ
avr_led_lcd_test������LEDӦ������˸��LCDӦ����ʾ��HELLO����
-
����������й����󣬽����еļ���оƬ�嵽�����ϡ��������һ����������һ�������ԣ�
���ȣ����Ե�Ƶ���֣�����Ǹ�Ƶ���֡�����ҪһЩ�������͵�������Ƶ��Դ���緽���ź���
Ϊ��ѡ������źţ���
ʹ�ü�����
���������������ڲ�ͬģʽ��:
- 1.��������
-
����1Hz�ſ�����ΪƵ�ʲ�����������ģʽ�£�ͨ��1/100��Ƶ������Բ�����Ƶ�����ɴ�16λ��
65535Hz��6553500Hz
-
����64Hz�ſ�����ΪƵ�ʲ�����������ģʽ�£�����Բ�����Ƶ�����ɴ�1.5M,����ͨ��1/100��Ƶ��
�����Բ���Ʒ�ʴﵽ100M��
|
RS232 ASCII ����ӿ�.
|
�����ͨ���ı�ģʽѡ��ť���ı�ģʽ��Ҳ����ͨ��ASCII�������RS232�˿����ı䡣
RS232 ASCII���ƶ˿���ι�����2002��5�µ���ƪ����
AVR��Ƭ��GCC���
������ϸ������һЩ������䶼��
README.commands��ƪ��������������
���Ŵ�ʱ���̵�LED����������ʱ��ʾ�������ܹ��������������������
�ڶ�����ť�������ť�������ť���������������������Ҫ��Լ���ģʽ������������100��������ʾ��
����100��������ʾ���Ҳ����100�����ַ����㲻�ؾ����ܸ��ӵļ��㡣����ʹ��1/100����ʱ��
���Ƿdz����õġ�
�����߾���?
�κ�һ������ʽ����������һ����1�ľ��ȡ�������ʹ��һ���dz��ȶ��������źţ�����������
�ǻ���һ���������Ƶ������64Hz����ô������ڼ������ڲ�����64�������ζ�ž���
�ǡ�64��ͬ���ģ�1/100����Ҳ��Ӱ��������ȡ�������ô˵��������������Ƿdz������ġ�
�ؼ��������4194304Hz������¶�Ʈ���ϡ����¶Ƚϸ�ʱ�������ٶȻ�Ƚ���һЩ��
����һ������������Ψһ�����ľ���ͨ����ȷ�Ŀ����¶�����������
����кܺõIJο��źţ���Ҳ����У׼�������������ͨ������У׼���ں���handlecounterresult()
�м���һ��СС����ʱ���������ҵļ�������һ���ο��ź����˱Ƚϣ��������Ǽ������Ǽ���û����
��ˣ�У׼��ʱ�ձ�س�����Դ���뵱�С������ͨ���ı����е�һ��27pF�ĵ�����΢�������Ƶ��
���㲻�ò���10pF��50pF�ȵĵ���һ��������ʵ�飩��
�ڳ��������ʹ��ʱ������ҪȥУ׼����׼��4194304Hz�����Ƿdz���ȷ�ġ�
�����еļ�����
����һ�ż����������е���Ƭ:
����ѧϰ
����ƪ�����в�û���ṩLinuxϵͳ�µ�Ӧ�ó������Զ��IJ�������ֵ�� ��һ�����
�뵽��������������Ƶ�ʼ�������ƫԶ����ķ��ٻ������κ�һ�ֿ��Ա�ת�������
�źŵ��¼�����Linuxϵͳ��дһ����ʱ�����������������һ�����鷳���¡�������޸�
2002 ��5��, �����Linux��������һ��LCDǰ�������
��ƪ�������ṩ�ij��������ֻ��Ѳ����Ľ�����浽һ���ļ��У�ֻҪ��������������Ϳ����ˣ�
ttydevinit /dev/ttyS0
cat /dev/ttyS0 > your_logfile.txt
����Ƶ�ʼƱ������ڵ��Ե� COM1 �˿� (=ttyS0).
��������ײ����� :-)?
�����
����ƪ���·�������
ÿƪ���¶��и��Եķ���ҳ�档�����ҳ����������ύ���ۣ�Ҳ���Բ鿴�������ߵ����ۣ�
2002-03-13, generated by lfparser version 2.27