5. Giáo vieđn hướng dăn : Th.S TÁ COĐNG ĐỨC
7.3. Hướng phát trieơn cụa đeă tài
Qua quá trình thực hieơn với đeă tài “ Thiêt kê và thi cođng mođ hình đieău
khieơn thiêt bị qua máng đieơn thối”, veă cơ bạn đeă tài đã hoàn thành, nhưng
với thời gian có hán đeă tài văn chưa đát được những chức naíng mong muôn. Trong quá trình làm đeă tài những người thực hieơn đeă nghị hướng phát trieơn cụa đeă tài: Khi có sự cô thì heơ thông tự đoơng trạ lời đieơn thối cho người đieău khieơn biêt hoaịc kêt hợp với heơ thông báo cháy, báo troơm đeơ đeă tài có theơ hoàn chưnh hơn. Beđn cánh đó, hieơn nay máng thođng tin Internet đang phát trieơn rât mánh chúng ta có theơ ứng dúng đeă tài thođng qua máng Internet đeơ đieău khieơn baỉng máng Internet.
PHAĂN C. PHÚ LÚC TAØI LIEƠU
GIỚI THIEƠU MOƠT SÔ IC ỨNG DÚNG TRONG MÁCH
1. Giới thieơu IC AT24C08
Sơ đoă chađn, câu trúc cụa IC AT4C08
Hình C- 1 : Sơ đoă chađn AT24C08
Bạng hốt đoơng các chađn cụa IC AT24C08
Bạng C- 1 : Bạng hốt đoơng các chađn cụa IC AT24C08 Teđn chađn Chức naíng
A0 ÷ A2 Address Inputs : Các chađn địa chư vào
SDA Serial Data
SCL Serial Data
WP Write Protect
NC No Connect Sơ đoă câu trúc beđn trong IC AT24C08
Mođ tạ các chađn cụa IC AT24C08
Serial Clock (SCL) : Chađn ngõ vào SCL được sử dúng đeơ tích cực
hoá dữ lieơu kích cánh vào EEPROM, và økhođng tích cực dữ lieơu kích cánh ngõ ra cụa IC này.
Serial Data( SDA ) : Chađn SDA là chađn truyeăn dữ lieơu trực tiêp.
Chađn này là chađn cực máng đeơ hở và có theơ được kêt nôi với bât kỳ chađn cực máng đeơ hở nào khác.
Device/Page Addresses (A2,A1,A0) : Các chađn A2, A1 và A0 là các
chađn địa chư vào mà được kêt nôi với phaăn cứng.
IC AT24C08 chư sử dúng chađn A2 làm chađn địa chư ngõ vào cho vieơc kêt nôi địa chư với phaăn cứng và toàn boơ 2 thiêt bị 8K bit có theơ được định địa chư tređn heơ thông Bus đơn. Với IC này 2 chađn A2 và A1 thì khođng được kêt nôi với phaăn cứng ( còn gĩi chađn NC).
Write Protect(WP) : Chađn này là chađn mà bạo veơ dữ lieơu cho phaăn
cứng. Chađn WP cho phép hốt đoơng ghi_đĩc bình thường khi nó được nôi Mass hoaịc nôi leđn VCC.
Toơ chức boơ nhớ
Boơ nhớ beđn trong goăm có 8 K bit. Do đó địa chư yeđu caău 10 bit địa chư.
1.1 Phương thức hốt đoơng
Clock and Data Transitions : Chađn SDA bình thường được kéo leđn
mức cao nhờ thiêt bị beđn ngoài ( đieơn trở thanh ). Dữ lieơu ở chađn SDA chư có theơ thay đoơi trong suôt khoạng thời gian chađn SCL ở mức thâp. Data thay đoơi trong khoạng thời gian SCL ở mức thâp sẽ chư ra đieău kieơn Start và đieău kieơn Stop.
Hình C- 3 : Giạn đoă xung AT24C08
Start Condition : Khi chađn SCL ở mức cao thì chađn SDA truyeăn từ mức cao xuông mức thâp được gĩi là đieău kieơn Start .
Stop Condition : Khi chađn SCL ở mức cao thì chađn SDA truyeăn từ
mức thâp leđn mức cao được gĩi là đieău kieơn Start. Sau quá trình đĩc lieđn túc thì đieău kieơn Stop sẽ đưa EEPROM vào chê đoơ Stanby.
Giạn đoă :
Hình C- 4 : Giạn đoă xung Start và Stop
Acknowledge : Tât cạ địa chư và dữ lieơu được truyeăn đên và xuât từ
EEPROM dưới dáng 8 bit. EEPROM sẽ gởi đi tín hieơu zero( Acknowledge ) . Tín hieơu này dieên ra ở chu kỳ xung thứ 9.
Hình C- 5 : Giạn đoă xung tín hieơu Acknowledge Địa chư
- EEPROM 8K(AT24C08 ) đòi hỏi moơt từ địa chư 8 bit sau đieău kieơn Start, câp cho boơ xử lý đeơ thực hieơn hốt đoơng đĩc và ghi.
Bạng C- 2 : Bạng từ địa chư 8 bit cụa EEPROM 24C08
- Từ địa chư 8 bit này goăm 4 bit có có trĩng sô cao nhât và baĩt buoơc phại lieđn túc theo thứ tự 1, 0 (hình tređn ). Đieău này được sử dúng chung cho tât cạ các lối EEPROM (hĩ AT24Cxx).
- Ba bit kê tiêp theo là các địa chư ngõ vào A2, A1 và A0. Ba bit này được kêt nôi với phaăn cứng tuỳ thuoơc vào từng lối EEPROM :
+ Với EEPROM lối 1K, 2K thì 3 bit này phại kêt nôi với chađn địa chư ngõ vào cụa phaăn cứng.
+ Với EEPROM lối 4K thì chư sử dúng 2 bit địa chư ngõ vào A2 và A1, 2 bit này phại kêt nôi với chađn địa chư ngõ vào cụa phaăn cứng. Còn chađn A0 khođng kêt nôi.
+ Với EEPROM lối 8K thì chư sử dúng 1 bit địa chư ngõ vào A2, bit này phại kêt nôi với chađn địa chư ngõ vào cụa phaăn cứng. Còn chađn A0, A1 khođng kêt nôi.
+ Với EEPROM lối 16K thì khođng sử dúng bit nào làm địa chư ngõ vào mà 3 bit này được sử dúng cho địa chư boơ nhớ Page.
- Bit thứ 8 cụa từ địa chư này là bit lựa chĩn R/W. Nêu bit này leđn mức cao thì quá trình đĩc dữ lieơu được thực hieơn, ngược lái là quá trình ghi dữ lieơu thực hieơn.
1.2 Quá trình ghi dữ lieơu
Byte Write (Ghi 1 byte) : Quá trình thực hieơn ghi 1 Byte dữ lieơu đòi hỏi phại có từ địa chư 8 bit dữ lieơu theo sau moơt từ địa chư thiêt bị và kêt thúc là moơt tín hieơu zero( tín hieơu Acknowledge). Khi địa chư thiêt bị này được thừa nhaơn thì EEPROM 24C08 sẽ đáp ứng lái moơt tín hieơu zero và sau đó tiêp túc đưa vào word address và dữ lieơu 8 bit. Tiêp theo sau địa chư dữ lieơu 8 bit được thừa nhaơn thì 24C08 tiêp túc xuât ra moơt tín hieơu Zero. Lúc này vi đieău khieơn sẽ baĩt đaău thực hieơn quá trình ghi lieđn túc và kêt thúc quá trình ghi là đieău kieơn Stop. Lúc này EEPROM 24C08 sẽ baĩt đaău chu kỳ ghi vào beđn trong
boơ nhớ. Tât cạ các chađn khođng được cho phép trong suôt quá trình ghi và 24C08 sẽ khođng đáp ứng cho đên khi hoàn thành xong quá trình ghi.
Hình C- 6 : Giạn đoă ghi 1 Byte AT24C08
Page Write (Ghi 1 Page): Quá trình ghi 1 Page baĩt đaău cũng giông
như quá trình ghi moơt Byte, nhưng vi đieău khieơn khođng xuât đieău kieơn Stop sau dữ lieơu 8 bit đaău tieđn được Clock vào. Thay vào đó, sau khi EEPROM 24C08 thừa nhaơn 8 bit dữ lieơu đaău tieđn thì sẽ xuât hieơn moơt tín hieơu xung Zero, và sau đó vi đieău khieơn sẽ tiêp túc thực hieơn truyeăn 15 laăn dữ lieơu 8 bit. Sau moêi laăn truyeăn dữ lieơu 8 bit thì EEPROM 24C08 sẽ xuât hieơn 1 tín hieơu xung Zero. Và vi đieău khieơn baĩt đaău quá trình ghi moơt Page cho tới khi xuât hieơn đieău kieơn Stop.
Hình C- 7 : Giạn đoă ghi 1 Byte AT24C08
Acknowledge Polling: Moơt khi quá trình ghi dữ lieơu vào beđn trong boơ
nhớ baĩt đaău thì các ngõ vào cụa EEPROM khođng được cho phép, vieơc kieơm tra tín hieơu xung Zero( tín hieơu Acknowledge) baĩt đaău. Vieơc này đòi hỏi EEPROM phại gởi moơt đieău kieơn Start, theo sau là Devide Address. Bit chĩn R/W đaịc trưng cho quá trình này. Khi chu kỳ ghi hoàn thành thì EEPROM AT24C08 sẽ phạn hoăi lái moơt tín hieơu Zero cho phép hốt đoơng đĩc và ghi được tiêp túc.
1.3 Quá trình đĩc dữ lieơu
Quá trình đĩc dữ lieơu cũng baĩt đaău giông quá trình ghi dữ lieơu với trường hợp bit chĩn địa chư R/W được set leđn mức 1. Có 3 hốt đoơng đĩc địa chư: Đĩc địa chư hieơn tái(current address read), đĩc địa chư ngău nhieđn ( random address read ) và đĩc địa chư lieđn túc (sequential read).
Current address read : Boơ đêm địa chư dữ lieơu beđn trong sẽ duy trì
địa chư cho phép cuôi cùng, cho đên cuôi quá trình đĩc hay ghi, sau đó được taíng leđn 1(Nêu địa chư cuôi cùng maịc định là n thì quá trình đĩc dữ lieơu cho phép maịc định là n +1 ). Moơt khi chađn chĩn R/W được set leđn 1 thì AT24C08 sẽ phát ra moơt xung tín hieơu Zero, và thực hieơn quá trình truyeăn dữ lieơu 8 bit(địa chư hieơn hành được Clock ra). Lúc này vi đieău khieơn khođng phạn hoăi lái moơt tín hieơu Zero ngõ vào mà phát theo sau moơt đieău kieơn Stop.
Hình C- 8 : Giạn đoă đĩc địa chư hieơn tái
Random Read: Moơt quá trình đĩc địa chư ngău nhieđn đòi hỏi moơt hốt
đoơng ghi lieđn túc moơt byte “giạ” đeơ đưa vào địa chư dữ lieơu. Moơt khi địa chư thiêt bị và địa chư dữ lieơu được Clock vào và AT24C08 xuât ra moơt tín hieơu Zero, thì vi đieău khieơn phại phát ra moơt đieău kieơn Start khác. Lúc này vi đieău khieơn baĩt đaău đĩc địa chư hieơn tái baỉng vieơc gửi ra moơt địa chư thiêt bị với đieău kieơn chađn chĩn R/W set leđn 1. Khi đó AT24C08 thừa nhaơn địa chư địa chư thiêt bị này và đưa ra( Clock out) từ dữ lieơu.Vi đieău khieơn khođng phạn hoăi lái moơt tín hieơu Zero ngõ vào mà phát theo sau moơt đieău kieơn Stop.
Hình C- 9 : Giạn đoă đĩc địa chư ngău nhieđn
Sequential Read: Quá trình đĩc lieđn túc được thực hieơn bởi cạ 2 quá
trình đĩc dữ lieơu hieơn tái và quá trình đĩc dữ lieơu ngău nhieđn. Sau khi vi đieău khieơn nhaơn dữ lieơu 8 bit thì sẽ phát ra moơt xung tín hieơu Zero. Chẳng bao lađu thì EEPROM AT24C08 nhaơn được tín hieơu Zero này thì tiêp túc taíng địa chư dữ lieơu 8 bit và Clock ra lieđn túc các từ dữ lieơu . Khi boơ nhớ dữ lieơu đát đên mức giới hán, thì địa chư dữ lieơu sẽ quay lái và tiêp túc đĩc lieđn túc. Quá trình
đĩc lieđn túc được kêt thúc khi vi đieău khieơn khođng phạn hoăi lái moơt tín hieơu Zero ngõ vào mà phát theo sau moơt đieău kieơn Stop.
Hình C- 10 : Giạn đoă đĩc địa chư lieđn túc 2. IC MT8888
IC MT8888 là moơt mách thu phát tín hieơu DTMF hoàn chưnh tích hợp cạ hai chức naíng mách lĩc tách baíng thođng, giại mã tín hieơu DTMF ra tín hieơu sô bôn bit nhị phađn và ngược lái. IC này được sạn xuât baỉng cođng ngheơ CMOS, kích thước nhỏ, ít tôn naíng lượng và khạ naíng ứng dúng roơng rãi. IC được toơng hợp goăm nhieău mách chức naíng (như hình sau):
Hình C- 11 : Sơ đoă câu trúc beđn trong IC MT8888
IC MT8888 có những đaịc đieơm sau:
Chức naíng lĩc tách tín hieơu DTMF làm hai nhóm tone cao và tone thâp.
Giại mã 16 caịp tín hieơu DTMF (tương ứng với 16 phím tređn bàn phím máy đieơn thối) thành mã 4 bit nhị phađn.
IC còn được cung câp theđm phaăn khuêch đái vi sai ở ngõ vào, có theơ đieău chưnh được đoơ lợi.
IC hốt đoơng với dao đoơng thách anh 3.5795Mhz
Sơ đoă chađn cụa IC MT8888
Hình C- 12 : Sơ đoă chađn cụa hĩ IC MT8888
Ở đađy sử dúng IC MT8888 có sô chađn là 20 chađn (DIP)
Hình C- 13 : Sơ đoă chađn cụa IC MT8888 Ý nghĩa cụa các chađn IC MT8888 :
Bạng tóm taĩt chức naíng các chađn cụa IC MT8888
Bạng C- 3 : Bạng tóm taĩt chức naíng các chađn cụa IC MT8888
Chađn Teđn Chức naíng
1 IN + Chađn vào khođng đạo cụa Opamp 2 IN - Chađn vào đạo cụa Opamp
3 GS Chĩn đoơ lợi cho boơ khuêch đái Opamp
4 VREF Đaău ra đieơn áp tĩnh VDD/2, được dùng đeơ cađn baỉng tĩnh ở đaău vào
5 VSS Đieơn áp ađm cung câp (nôi Mass) 6 OSC1 Đaău vào boơ dao đoơng thách anh
7 OSC2 Dao đoơng thách anh f= 3.579545Hz được nôi giữa OSC1 và OSC2 táo thành dao đoơng dòng đieơn ở beđn trong vi mách. 8 TONE Ngõ ra Tone cụa DTMF
9 WR Chađn đeơ CPU đieău khieơn trực tiêp đĩc và viêt data 10 CS Chađn Chip Select
12 RD Xung đoăng hoă heơ thông
13 IRQ/CP Yeđu caău ngaĩt gởi tới MPU ( Chađn cực máng hở). Khi Mode Call Progress (CP) chê đoơ ngaĩt interrupt cùng được chĩn, chađn IRQ/CPsẽ đưa ra dáng sóng hình chữ nhaơt đaịc trưng cho tín hieơu đaău vào cụa Opamp với đieău kieơn tín hieơu đaău vào này phại naỉm trong dại thođng cụa boơ lĩc thođng dại
14 D0 Data bus
15 D1 Data bus
16 D2 Data bus
17 D3 Data bus
18 EST Cho ra mức logic 1 khi phát hieơn được moơt caịp Tone hợp leơ. Bât kì tráng thái nào khođng có tín hieơu hợp leơ đeău cho ra mức logic 0
19 ST/GT Moơt caịp đieơn áp lớn hơn VEST khi xuât hieơn tái ST làm cho thiêt bị ghi nhaơn caịp Tone và caơp nhât boơ chôt ngõ ra. Moơt đieơn áp nhỏ hơn VEST giại phóng thiêt bị đeơ thu nhaơn caịp Tone mới. Ngõ ra GT làm nhieơm vú Reset mách định thì beđn ngoài. Tráng thái cụa nó là moơt hàm cụa EST và đieơn áp tái chađn ST.
20 VDD Nguoăn cung câp
Bạng C- 4 : Bạng thođng sô cụa tín hieơu DTMF
Kí tự sô Taăn sô thâp Taăn sô cao D3 D2 D1 D0
1 697 1209 0 0 0 1 2 697 1336 0 0 1 0 3 697 1447 0 0 1 1 4 770 1209 0 1 0 0 5 770 1336 0 1 0 1 6 770 1447 0 1 1 0 7 852 1209 0 1 1 1 8 852 1336 1 0 0 0 9 852 1447 1 0 0 1 0 941 1336 1 0 1 0 A 697 1633 1 0 1 1 B 770 1633 1 1 0 0 C 852 1633 1 1 0 1 D 941 1633 1 1 1 0 * 941 1209 1 1 1 1 # 941 1447 1 0 0 0
Giao tiêp MT8888 với Vi đieău khieơn
MT8888 sử dúng moơt boơ giao tiêp vi xử lý cho phép đieău khieơn moơt cách chính xác với chức naíng thu và phát. Có toơng coơng 5 thanh ghi chia làm 3 lối: Thanh ghi dữ lieơu thu_phát, thanh ghi đieău khieơn thu_phát và thanh ghi tráng thái. Có hai thanh ghi dữ lieơu :Thanh ghi Receive data chứa mã xuât ra cụa caịp Tone DTMF hợp leơ gaăn nhât và là thanh ghi chư đĩc. Data đưa vào thanh ghi Transmith data sẽ qui định caịp Tone nào được phát đi, Data chư theơ được vào thanh ghi này.
Đieău khieơn thu phát Tone được đạm nhaơn bởi 2 thanh ghi Control Register A và Control Register B (CRA và CRB ) có cùng moơt địa chư. Muôn ghi vào thanh ghi CRB thì trước đó phại có set moơt bit tương ứng ở CRA. Chu kỳ ghi kê tiêp vào cùng địa chư với CRA sẽ cho phép truy caơp tới CRB. Và chu kỳ ghi kê tiêp nữa sẽ trở lái CRA. Khi câp đieơn mách đieơn reset noơi sẽ xoá các thanh ghi đieău khieơn. Tuy vaơy, đeơ ngaín ngừa thì chương trình phaăn meăm neđn có moơt dòng leơnh đeơ kích khởi các thanh ghi này. Chađn IRQ/CP có theơ được laơp trình sao cho nó có theơ cung câp tín hieơu yeđu caău ngaĩt sau khi nhaơn xung DTMF hợp leơ hay khi phát đã sẵn sàng cho data kê tiêp (Chư trong chê đoơ Burst mode). Chađn là IRQ/CP ngõ ra cực máng hở và vì thê caăn có moơt đieơn trở kéo leđn.
Thanh ghi nhaơn data chứa mã leơnh xuât cụa giá trị cuôi cùng caịp Tone DTMF được giại mã và là thanh ghi chư đĩc data vào. Tín hieơu data vào trong thanh ghi phát sẽ được định rõ với caịp Tone nào mà được phát sinh ra. Data chư có theơ được viêt với thanh ghi phát.
Hai thanh ghi đieău khieơn CRA và CRB có cùng moơt địa chư, vieơc xác định ghi dữ lieơu vào thanh ghi nào được chư ra trong bit thứ 3 (B3) trong thanh ghi CRA. Nêu bit B3 baỉng [0], laăn ghi kê tiêp được hieơu là ghi vào thanh ghi CRA; nêu bit B3 baỉng [1], laăn ghi kê tiêp được hieơu là ghi vào thanh ghi CRB. Sau khi thực hieơn leơnh ghi vào thanh ghi CRB, thanh ghi CRA sẽ được chĩn trở lái moơt cách tự đoơng bởi phaăn cứng.
Cách truy caơp thanh ghi
Bạng C- 5 : Bạng chức naíng các thanh ghi cụa MT8888
RSO R/W Chức naíng
0 0 Ghi vào thanh ghi Data phát