You are on page 1of 147

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LÃ CÔNG HUẤN

Giả lập hệ thống nhúng trên vi mạch lập trình được

LUẬN VĂN THẠC SĨ

KỸ THUẬT ĐIỆN TỬ

Hà Nội, 2011
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LÃ CÔNG HUẤN

Giả lập hệ thống nhúng trên vi mạch lập trình được

LUẬN VĂN THẠC SĨ

KỸ THUẬT ĐIỆN TỬ

NGƯỜI HƯỚNG DẪN KHOA HỌC:


TS NGUYỄN ĐỨC MINH

Hà Nội, 2011
1

Môc lôc

Môc lôc ....................................................................................................................................1


T
03 T
03

Danh môc h×nh vÏ. ..............................................................................................................3


T
03 T
03

C¸c thuËt ng÷ viÕt t¾t. ..................................................................................................7


T
03 T
03

Më ®Çu ......................................................................................................................................8
T
03 T
03

Ch¬ng 1.
T
03 T
03 TTæng quan hÖ thèng ®iÒu khiÓn nhóng. ......................................9
03 T
03

1.1.
T
03 T
03 Giíi thiÖu hÖ thèng nhóng: ..............................................................................9
T
03 T
03

1.1.1.
T
03 T
03 C¸c kh¸i niÖm vÒ hÖ nhóng ...................................................................................9
T
03 T
03

1.1.2.
T
03 T
03 LÜnh vùc øng dông cña hÖ nhóng. ......................................................................13
T
03 T
03

1.1.3.
T
03 T
03 §Æc ®iÓm c«ng nghÖ vµ xu thÕ ph¸t triÓn cña hÖ nhóng..................................... 13
T
03 T
03

1.2.
T
03 T
03 CÊu tróc phÇn cøng cña hÖ nhóng. ............................................................17
T
03 T
03

1.2.1.
T
03 T
03 C¸c thµnh phÇn kiÕn tróc c¬ b¶n. ....................................................................... 17
T
03 T
03

1.2.2.
T
03 T
03 Mét sè nÒn phÇn cøng nhóng th«ng dông. ......................................................... 51
T
03 T
03

1.3.
T
03 T
03 ThiÕt kÕ hÖ nhóng: tæ hîp phÇn cøng – phÇn mÒm. ............................. 64
T
03 T
03

1.3.1.
T
03 T
03 Quy tr×nh ph¸t triÓn. ........................................................................................... 64
T
03 T
03

1.3.2.
T
03 T
03 Ph©n tÝch yªu cÇu vµ m« h×nh hãa sù kiÖn..........................................................65
T
03 T
03

Ch¬ng 2.
T
03 T
03 TVi m¹ch lËp tr×nh ®îc. ..................................................................... 79
03 T
03

2.1.
T
03 T
03 Giíi thiÖu chung vÒ FPGA vµ ng«n ng÷ VHDL. ......................................... 79
T
03 T
03

2.1.1.
T
03 T
03 Kh¸i niÖm vµ øng dông FPGA. ........................................................................... 79
T
03 T
03

2.1.2.
T
03 T
03 KiÕn tróc FPGA. ................................................................................................. 81
T
03 T
03

2.1.3.
T
03 T
03 Tr×nh tù thiÕt kÕ mét chip ................................................................................... 86
T
03 T
03

2.1.4.
T
03 T
03 Ng«n ng÷ m« t¶ phÇn cøng VHDL ..................................................................... 90
T
03 T
03

2.2.
T
03 T
03 Giíi thiÖu KIT FPGA cña mét sè h·ng. ......................................................... 92
T
03 T
03

2.2.1.
T
03 T
03 Giíi thiÖu m¹ch ph¸t triÓn XST 3S 1000 cña h·ng XESS .................................. 92
T
03 T
03

2.2.2.
T
03 T
03 Giíi thiÖu Board DE2 cña Altera........................................................................96
T
03 T
03

Ch¬ng 3.
T
03 T
03 TM« h×nh ng«i nhµ th«ng minh. ..................................................... 100
03 T
03

3.1.
T
03 T
03 Giíi thiÖu chung. ............................................................................................... 100
T
03 T
03

3.1.1.
T
03 T
03 T×nh h×nh nghiªn cøu trªn thÕ giíi. ..................................................................100
T
03 T
03
2

3.1.2.
T
03 T
03 T×nh h×nh nghiªn cøu trong níc. ....................................................................102
T
03 T
03

3.2.
T
03 T
03 Gi¶i ph¸p iBMS cho nhµ th«ng minh. ......................................................... 104
T
03 T
03

3.2.1.
T
03 T
03 Tæng quan. ........................................................................................................104
T
03 T
03

3.2.2.
T
03 T
03 Thµnh phÇn, chøc n¨ng vµ nhiÖm vô................................................................ 105
T
03 T
03

3.2.3.
T
03 T
03 C«ng nghÖ vµ tiªu chuÈn. .................................................................................. 107
T
03 T
03

3.2.4.
T
03 T
03 Chi phÝ ®Çu t vµ lîi Ých. ................................................................................... 108
T
03 T
03

3.2.5.
T
03 T
03 C¸c khuyÕn nghÞ................................................................................................ 109
T
03 T
03

Ch¬ng 4.
T
03 T
03 ThÖ thèng nhµ th«ng minh trªn FPGA. ......................................112
03 T
03

4.1.
T
03 T
03 Ph©n tÝch yªu cÇu. ............................................................................................ 112
T
03 T
03

4.1.1.
T
03 T
03 Ph©n tÝch yªu cÇu chøc n¨ng............................................................................. 112
T
03 T
03

4.1.2.
T
03 T
03 Ph©n tÝch yªu cÇu phi chøc n¨ng. .....................................................................115
T
03 T
03

4.2.
T
03 T
03 ThiÕt kÕ hÖ thèng. ............................................................................................116
T
03 T
03

4.2.1.
T
03 T
03 M« h×nh tæng qu¸t hÖ thèng.............................................................................. 116
T
03 T
03

4.2.2.
T
03 T
03 ThiÕt kÕ phÇn cøng............................................................................................ 118
T
03 T
03

4.2.3.
T
03 T
03 ThiÕt kÕ phÇn mÒm. ..........................................................................................137
T
03 T
03

KÕt luËn vµ kiÕn nghÞ .................................................................................................. 144


T
03 T
03

Tµi liÖu tham kh¶o .......................................................................................................145


T
03 T
03
3

Danh môc h×nh vÏ.

H×nh 1-1: HÖ nhóng .......................................................................................................... 10


T
03 T
03

H×nh 1-2: Ph©n bæ vµ quan hÖ gi÷a hÖ nhóng vµ thêi gian thùc .......................................... 12
T
03 T
03

H×nh 1-3: KiÕn tróc ®iÓn h×nh cña c¸c chip VXL/VDK nhóng ........................................... 17
T
03 T
03

H×nh 1-4: CÊu tróc CPU .................................................................................................... 18


T
03 T
03

H×nh 1-5: M« t¶ vµ tr¹ng th¸i tÝn hiÖu ho¹t ®éng trong VXL.............................................. 21
T
03 T
03

H×nh 1-6: M« t¶ tr¹ng th¸i tÝn hiÖu logic t¨ng hoÆc gi¶m ................................................... 22
T
03 T
03

H×nh 1-7: M« t¶ tr¹ng th¸i vµ ®é trÔ lan truyÒn tÝn hiÖu ..................................................... 22
T
03 T
03

H×nh 1-8: Thêi gian thiÕt lËp vµ lu tr÷ .............................................................................23


T
03 T
03

H×nh 1-9: HiÖn tîng Metastabilit trong ho¹t ®éng cña Triger D ....................................... 23
T
03 T
03

H×nh 1-10: M« t¶ m« h×nh 3 tr¹ng th¸i vµ contention......................................................... 24


T
03 T
03

H×nh 1-11: §é réng vµ tÇn sè xung nhÞp chuÈn.................................................................. 24


T
03 T
03

H×nh 1-12: Chu kú ho¹t ®éng Bus dån kªnh ...................................................................... 26


T
03 T
03

H×nh 1-13: KiÕn tróc bé nhí von Neumann vµ Havard ......................................................27


T
03 T
03

H×nh 1-14: Nguyªn lý ®iÒu khiÓn t¸ch kªnh truy nhËp bus ®Þa chØ vµ bus d÷ liÖu ............... 28
T
03 T
03

H×nh 1-15: Nguyªn lý cÊu t¹o vµ ho¹t ®éng xãa cña EPROM ............................................ 29
T
03 T
03

H×nh 1-16: S¬ ®å nguyªn lý ghÐp nèi EPROM víi VXL.................................................... 29


T
03 T
03

H×nh 1-17: CÊu tróc nguyªn lý bé nhí RAM ..................................................................... 30


T
03 T
03

H×nh 1-18: CÊu tróc mét phÇn tö nhí DRAM .................................................................... 30


T
03 T
03

H×nh 1-19: Nguyªn lý ghÐp nèi (më réng) RAM víi VXL ................................................31
T
03 T
03

H×nh 1-20: Bé ®×nh thêi/bé ®Õm 8 bit cña AVR................................................................. 32


T
03 T
03

H×nh 1-21: S¬ ®å nguyªn lý ho¹t ®éng cña bé ®Þnh thêi chã canh ...................................... 34
T
03 T
03

H×nh 1-22: Nguyªn lý ho¹t ®éng cña bé ®Þnh thêi chã canh............................................... 35
T
03 T
03

H×nh 1-23: NhÞp ho¹t ®éng DMA...................................................................................... 36


T
03 T
03

H×nh 1-24: S¬ ®å nguyªn lý m¹ch chuyÓn ®æi DAC ..........................................................38


T
03 T
03

H×nh 1-25: S¬ ®å nguyªn lý m¹ch chuyÓn ®æi ADC ..........................................................38


T
03 T
03

H×nh 1-26: S¬ ®å nguyªn lý cÊu tróc ADC1754A .............................................................. 39


T
03 T
03

H×nh 1-27: S¬ ®å bè trÝ ch©n cña Chip ADC574A .............................................................40


T
03 T
03

H×nh 1-28: Gi¶n ®å chøc n¨ng cña 82C55A ...................................................................... 42


T
03 T
03

H×nh 1-29: Thanh ghi tõ ®iÒu khiÓn chän chÕ ®é ho¹t ®éng cho 82C55A ........................... 43
T
03 T
03

H×nh 1-30: S¬ ®å cÊu tróc chøc n¨ng 8354 ........................................................................ 45


T
03 T
03
4

H×nh 1-31: CÊu tróc nguyªn lý ®iÓn h×nh cña mét cæng vµo/ra logic giao diÖn nèi tiÕp....... 46
T
03 T
03

H×nh 1-32: CÊu tróc ®¬n gi¶n hãa cña USART .................................................................. 46
T
03 T
03

H×nh 1-33: Mode ho¹t ®éng truyÒn th«ng ®ång bé ............................................................ 47


T
03 T
03

H×nh 1-34: Mode ho¹t ®éng truyÒn th«ng dÞ bé ................................................................. 47


T
03 T
03

H×nh 1-35: KÕt nèi nguyªn lý truyÒn th«ng SPI gi÷a mét Master vµ mét Slave ................... 49
T
03 T
03

H×nh 1-36: S¬ ®å kÕt nèi truyÒn thèng SPI cña mét ®¬n vÞ Master vµ nhiÒu ®¬n vÞ Slave .... 50
T
03 T
03

H×nh 1-37: CÊu tróc nguyªn lý cña V§K víi cÊu tróc Havard............................................ 52
T
03 T
03

H×nh 1-38: KiÕn tróc cña häc V§K AVR.......................................................................... 53


T
03 T
03

H×nh 1-39: S¬ ®å khèi chøc n¨ng kiÕn tróc PIC 16F873A .................................................. 53
T
03 T
03

H×nh 1-40: Gi¶n ®å khèi chøc n¨ng cña DSP TMS320C28xx ............................................55
T
03 T
03

H×nh 1-41: CÊu tróc PROM vµ PLA .................................................................................. 56


T
03 T
03

H×nh 1-42: CÊu tróc chung cña PAL .................................................................................57


T
03 T
03

H×nh 1-43: CÊu tróc nguyªn lý cña FPGA ......................................................................... 58


T
03 T
03

H×nh 1-44: CÊu tróc CLB vµ LAB ..................................................................................... 59


T
03 T
03

H×nh 1-45: Khèi logic d¹ng MUX..................................................................................... 62


T
03 T
03

H×nh 1-46: LUT thùc hiÖn hµm tæ hîp AND vµ OR ........................................................... 63


T
03 T
03

H×nh 1-47: H×nh ¶nh cña Chip cã c¸c cét lµ c¸c khèi RAM nhóng ....................................63
T
03 T
03

H×nh 1-48: S¬ ®å nguyªn lý m¹ch ghÐp nèi V§K vµ FPGA ............................................... 64


T
03 T
03

H×nh 1-49: M« h×nh ph¸t triÓn hÖ thèng nhóng .................................................................. 65


T
03 T
03

H×nh 1-50: VÝ dô vÒ mét m« h×nh d¹ng Petri ..................................................................... 67


T
03 T
03

H×nh 1-51: M« h×nh Petrinet 2 ho¹t ®éng song song .......................................................... 68


T
03 T
03

H×nh 1-52: Ho¹t ®éng cña bé ®Õm víi dung lîng h÷u h¹n ............................................... 69
T
03 T
03

H×nh 1-53: Ho¹t ®éng t¹o vµ sö dông c¸c bé ®Õm.............................................................. 70


T
03 T
03

H×nh 1-54: Ho¹t ®éng lo¹i trõ cña hai t¸c vô song song chia sÎ chung tµi nguyªn .............. 71
T
03 T
03

H×nh 1-55: Ho¹t ®éng cña hÖ thèng gåm 1 bé t¹o vµ 1 bé sö dông..................................... 72


T
03 T
03

H×nh 1-56: Ho¹t ®éng cña hÖ thèng gåm 1 bé t¹o vµ 2 bé sö dông..................................... 72


T
03 T
03

H×nh 1-57: Ho¹t ®éng cña hÖ thèng gåm 2 bé t¹o vµ 2 bé sö dông..................................... 72


T
03 T
03

H×nh 1-58: Ho¹t ®éng ®ång bé víi hai m¹ng môc ............................................................. 75
T
03 T
03

H×nh 1-59: M« t¶ ®iÒu khiÓn luång tµu ®iÖn ...................................................................... 76


T
03 T
03

H×nh 2-1: KiÕn tróc chung cña FPGA ...............................................................................81


T
03 T
03

H×nh 2-2: Mét logic Block ®iÓn h×nh ................................................................................. 81


T
03 T
03

H×nh 2-3: Configurable Logic Blocks ................................................................................ 82


T
03 T
03
5

H×nh 2-4: Programmable Interconnect ..............................................................................83


T
03 T
03

H×nh 2-5: CÊu tróc c¸c thµnh phÇn cña Spartan 3A ............................................................ 86
T
03 T
03

H×nh 2-6: Tr×nh tù thiÕt kÕ hÖ thèng trªn nÒn FPGA .......................................................... 87


T
03 T
03

H×nh 2-7: Quy tr×nh thiÕt kÕ Chip dùa trªn VHDL ............................................................. 92
T
03 T
03

H×nh 2-8: KIT XSA-3S1000 .............................................................................................. 93


T
03 T
03

H×nh 2-9: S¬ ®å cÊu tróc cña XSA-3S1000 ........................................................................ 94


T
03 T
03

H×nh 2-10: KIT XST – 3.0 ..............................................................................................94


T
03 T
03

H×nh 2-11: KÕt hîp XSA-3S1000 vµ XST-3.0.................................................................... 95


T
03 T
03

H×nh 2-12: KIT DE2 ......................................................................................................... 96


T
03 T
03

H×nh 2-13: øng dông DE2 lµm TV Box ............................................................................. 98


T
03 T
03

H×nh 2-14: øng dông DE2 lµm chuét USB (PaintBrush)..................................................... 98


T
03 T
03

H×nh 2-15: øng dông DE2 m¸y karaoke vµ ch¬i nh¹c tõ card SD ....................................... 99
T
03 T
03

H×nh 3-1: M« h×nh hÖ thèng iBMS .................................................................................. 106


T
03 T
03

H×nh 3-2: HÖ thèng BMS kiÓu cò víi c¸p truyÒn dÉn ®éc lËp. .......................................... 107
T
03 T
03

H×nh 3-3: Hª thèng BMS kiÓu míi víi c¸p truyÒn dÉn tÝch hîp chuÈn TCP/IP .................108
T
03 T
03

H×nh 3-4: KhuyÕn nghÞ vÒ thiÕt kÕ hÖ thèng iBMS........................................................... 110


T
03 T
03

H×nh 4-1. M« h×nh ng«i nhµ th«ng minh ......................................................................... 112


T
03 T
03

H×nh 4-2: S¬ ®å ph©n cÊp chøc n¨ng hÖ thèng ................................................................. 116


T
03 T
03

H×nh 4-3: M« h×nh tæng quan hÖ thèng........................................................................... 116


T
03 T
03

H×nh 4-4: S¬ ®å khèi bé ®iÒu khiÓn trung t©m ................................................................. 118


T
03 T
03

H×nh 4-5: S¬ ®å khèi cña UART .................................................................................... 120


T
03 T
03

H×nh 4-6: Xung clock cña hÖ thèng ................................................................................. 121


T
03 T
03

H×nh 4-7: S¬ ®å khèi FPGA dßng Cyclone II ..................................................................123


T
03 T
03

H×nh 4-8: VËn hµnh modem TC35i ................................................................................. 128


T
03 T
03

H×nh 4-9: S¬ ®å kÕt nèi RS232, SIM vµ Reset ................................................................. 128


T
03 T
03

H×nh 4-10: S¬ ®å nguån nu«i cho TC35i ......................................................................... 129


T
03 T
03

H×nh 4-11: S¬ ®å ch©n kÕt nèi víi TC35i......................................................................... 129


T
03 T
03

H×nh 4-12: Giao diÖn kÕt nèi Modem TC35i víi PC ........................................................ 129
T
03 T
03

H×nh 4-13: PhÇn cµi ®Æt cæng COM ®Ó kÕt nèi víi Modem GSM ..................................... 130
T
03 T
03

H×nh 4-14: PhÇn ph¶n håi cña Modem GSM ................................................................... 130
T
03 T
03

H×nh 4-15: PhÇn liªn quan ®Õn cuéc gäi .......................................................................... 130
T
03 T
03

H×nh 4-16: PhÇn liªn quan ®Õn tin nh¾n ..........................................................................131


T
03 T
03
6

H×nh 4-17: Xung ®iÒu khiÓn tõ xa .................................................................................. 131


T
03 T
03

H×nh 4-18: Xung ®iÒu khiÓn tõ xa tiÕt kiÖm n¨ng lîng................................................... 132
T
03 T
03

H×nh 4-19: Khung truyÒn hång ngo¹i ............................................................................. 132


T
03 T
03

H×nh 4-20: Khung truyÒn hång ngo¹i tiÕt kiÖm n¨ng lîng ............................................. 133
T
03 T
03

H×nh 4-21: S¬ ®å ®Çu vµo c¶m biÕn qua c¸ch ly quang .................................................... 133
T
03 T
03

H×nh 4-22: S¬ ®å ch©n kÕt nèi víi bo m¹ch FPGA vµ kÕt nèi ba m¹ch kh«ng d©y ............ 134
T
03 T
03

H×nh 4-23: S¬ ®å kÕt nèi víi Max 232 ®Ó kÕt nèi víi Modem TC35i................................ 134
T
03 T
03

H×nh 4-24: S¬ ®å kÕt nèi USB víi m¸y tÝnh PC................................................................ 135
T
03 T
03

H×nh 4-25: S¬ ®å m¹ch FPGA kÕt nèi ROM, RAM vµ FLASH ........................................ 135
T
03 T
03

H×nh 4-26: S¬ ®å kÕt nèi mµn h×nh LCD vµ chÝp nhí EPROM ......................................... 136
T
03 T
03

H×nh 4-27: S¬ ®å kÕt nèi ra rowle ®iÒu khiÓn................................................................... 136


T
03 T
03

H×nh 4-28: Lu ®å cho hÖ thèng .....................................................................................137


T
03 T
03

H×nh 4-29: Lu ®å thuËt to¸n cho ch¬ng tr×nh chÝnh ...................................................... 141
T
03 T
03

H×nh 4-30: Lu ®å thuËt to¸n kiÓm tra vµ xö lý tin tøc ®Õn SMS ...................................... 141
T
03 T
03

H×nh 4-31: Lu ®å thuËt to¸n kiÓm tra vµ xö lý d÷ liÖu UART_USB ................................ 142
T
03 T
03

H×nh 4-32: Lu ®å thuËt to¸n hiÓn thÞ th«ng tin trªn LCD 2x16 ....................................... 142
T
03 T
03

H×nh 4-33: Lu ®å thuËt to¸n kiÓm tra vµ xö lý phÝm nhÊn .............................................. 143
T
03 T
03

H×nh 4-34: Lu ®å thuËt to¸n kiÓm tra vµ xö lý lèi vµo c¶m biÕn ..................................... 143
T
03 T
03
7

C¸c thuËt ng÷ viÕt t¾t.


ALU Arthimetic Logic Unit
BAS Building Automation System
BCD binary coded decimal
BMS Building Management System
CLBs Configurable Logic Blocks
CPLD Com-plex Programmable Logic Device
CPU Central Processing Unit)
DCM Digital Clock Manager
DDR Double Data-Rate
DMA Direct Memory Access
DSP Digital Signal Processing
FPD Field Programmable Device
FPGA Field Pro-grammable Gate Array
HDL Hardware description language
I2C
P P Inter-IC
iBMS Intelligent building Management System
ICS Intelligent City System
IEEE Institue of Electrical and Electronics Engineers
IFS Intelligent Factory System
IOBs Input/Output Blocks
LUT Lookup Table
MUX Multiplexer)
PLA Programmable Logic Array
PROM Programmable Read Only Memory
RTL Register transfer level
SPLD Simple Program-mable Logic Device
VHDL Very High Speed Integrated Circuit Hardware Description
Lanuage
XESS X Engineering Software Systems Corporation
8

Më ®Çu

Ngày nay, viÖc nghiªn cøu, ph¸t triÓn vµ øng dông c¸c c«ng nghÖ hÖ
thèng nhóng vµo cuéc sèng ®ang ngµy cµng ph¸t triÓn kh«ng ngõng. ë ViÖt
Nam, ngµy 19/07/2010, Thñ tíng ChÝnh phñ ®· ký quyÕt ®Þnh sè
49/2010/QD-TTg vÒ viÖc phª duyÖt danh môc c«ng nghÖ cao ®îc u tiªn
ph¸t triÓn. Trong danh môc cña QuyÕt ®Þnh nµy, c«ng nghÖ c¸c hÖ thèng
nhóng cã vÞ trÝ ®øng thø hai. §iÒu ®ã ®ñ cho thÊy viÖc u tiªn ph¸t triÓn hÖ
thèng nhóng ë ViÖt Nam ®ang ngµy cµng ®îc quan t©m.

Trong thêi gian võa qua, ®îc sù híng dÉn cña TS. NguyÔn §øc Minh,
em ®· cã nh÷ng nghiªn cøu vÒ ®Ò tµi “Gi¶ lËp hÖ thèng nhóng trªn vi m¹ch lËp
tr×nh ®îc”. Th«ng qua ®Ò tµi lu©n v¨n nµy, em ®· cã nh÷ng t×m hiÓu vÒ hÖ
thèng nhóng, c¸c vi m¹ch lËp tr×nh ®îc. Th«ng qua ®ã, ®· ¸p dông vµo viÖc
gi¶ lËp mét hÖ thèng nhóng “Ng«i nhµ th«ng minh” th«ng qua viÖc sö dông
kit Cyclone 2 vµ kit TC35i. KÕt qu¶ cña nghiªn cøu nµy, em ®· lµm thö
nghiÖm vµ ®a ra mét s¶n phÈm m« h×nh víi môc ®Ých gi¶ lËp hÖ thèng dùa
trªn gi¶i ph¸p iBMS.

Trong thêi gian thùc hiÖn luËn v¨n nµy, em rÊt c¶m ¬n sù chØ b¶o, híng
dÉn tËn t×nh cña TS. NguyÔn §øc Minh.

Do mét sè ®iÒu kiÖn nghiªn cøu cßn h¹n chÕ, nªn luËn v¨n nµy vÉn cßn
mét sè thiÕu sãt nhÊt ®Þnh. RÊt mong nhËn ®îc sù ®ãng gãp cña quý thÇy, c«
vµ c¸c b¹n ®Ó luËn v¨n ®îc hoµn thiÖn h¬n.

Ch©n thµnh c¶m ¬n.

Sinh viªn

L· C«ng HuÊn
9

Ch¬ng 1. Tæng quan hÖ thèng ®iÒu khiÓn


nhóng.
1.1. Giíi thiÖu hÖ thèng nhóng:

Kû nguyªn c«ng nghÖ míi ®· vµ ®ang tiÕp tôc ph¸t triÓn kh«ng ngõng
nh»m th«ng minh hãa, hiÖn ®¹i hãa th«ng suèt c¸c hÖ thèng. Cã thÓ nãi
®¸nh dÊu sù ra ®êi cña c¸c bé vi xö lý, vi ®iÒu khiÓn. Nã ®îc ®¸nh dÊu
bëi sù ra ®êi cña ChÝp vi xö lý ®Çu tiªn 4004 vµo n¨m 1971 cho môc ®Ých
tÝnh th¬ng m¹i cña mét c«ng ty NhËt B¶n Busicom vµ sau ®ã ®· ®îc
ch¾p c¸nh vµ ph¸t trÓn vît bËc bëi Intel ®Ó trë thµnh c¸c bé siªu xö lý nh
c¸c Chip ®îc øng dông cho PC nh ngµy nay. ThËp kû 80 cã thÓ ®îc coi
lµ khëi ®iÓm b¾t ®Çu kû nguyªn cña sù bïng næ vÒ ph¸t triÓn hÖ nhóng. Tõ
®ã khëi nguån cho lµn sãng ra ®êi cña hµng lo¹t c¸c chñng lo¹i vi xö lý vµ
g¾n lion víi c¸c hÖ nhóng ®Ó th©m nhËp réng kh¾p trong c¸c øng dông
hµng ngµy cña cuéc sèng chóng ta vÝ dô nh c¸c thiÕt bÞ ®iÖn tö sö dông
cho sinh ho¹t hµng ngµy (lß vi sãng, TV, tñ l¹nh, m¸y giÆt,…) vµ v¨n
phßng lµm viÖc (m¸y fax, m¸y in, m¸y ®iÖn tho¹i,…). C¸c bé vi xö lý ®îc
sö dông trong c¸c hÖ thèng nhóng hiÖn nay vît xa so víi PC vÒ sè lîng
chñng lo¹i (chiÕm ®Õn 79% sè c¸c vi xö lý ®ang tån t¹i) vµ vÉn cßn tiÕp tôc
ph¸t triÓn ®Ó nh»m ®¸p øng vµ tháa m·n rÊt nhiÒu øng dông ®a d¹ng.Trong
sè ®ã vÉn cßn øng dông c¶ c¸c Chip vi xö lý 8 bit, 16 bit vµ hiÖn nay chñ
yÕu vÉn lµ 32 bit (chiÕm kho¶ng 75%). G¾n lion víi sù ph¸t triÓn phÇn
cøng, phÇn mÒm còng ®· ph¸t triÓn víi tèc ®é nhanh kh«ng thua kÐm thËm
chÝ sÏ t¨ng nhanh h¬n rÊt nhiÒu sù ph¸t triÓn hÖ nhóng.

1.1.1. C¸c kh¸i niÖm vÒ hÖ nhóng


1.1.1.1. HÖ nhóng.

Trong thÕ giíi thùc cña chóng ta bÊt kú mét thiÕt bÞ hay hÖ thèng
®iÖn/®iÖn tö cã kh¶ n¨ng xö lý th«ng tin vµ ®iÒu khiÓn ®Òu cã thÓ tiÒm Èn
10

trong ®ã mét thiÕt bÞ hay hÖ nhóng, vÝ dô nh c¸c thiÕt bÞ truyÒn th«ng,
thiÕt bÞ ®o lêng ®iÒu khiÓn, c¸c thiÕt bÞ phôc vô sinh ho¹t hµng ngµy nh
lß vi sãng, m¸y giÆt, camera…RÊt dÔ dµng ®Ó cã thÓ kÓ ra hµng lo¹t c¸c
thiÕt bÞ hay hÖ thèng nh vËy ®ang tån t¹i quanh ta, chóng lµ hÖ nhóng.
VËy hÖ nhóng thùc chÊt lµ g× vµ nªn hiÓu thÕ nµo vÒ hÖ nhóng? HiÖn nay
còng cha cã mét ®Þnh nghÜa nµo thùc sù tho¶ ®¸ng ®Ó ®îc chuÈn ho¸ vµ
thõa nhËn réng r·i cho hÖ nhóng mµ vÉn chØ lµ nh÷ng kh¸i niÖm diÔn t¶ vÒ
chóng th«ng qua nh÷ng ®Æc thï chung. Tuy nhiªn ë ®©y chóng ta cã thÓ
hiÓu hÖ nhóng lµ mét phÇn hÖ thèng xö lý th«ng tin nhóng trong c¸c hÖ
thèng lín, phøc hîp vµ ®éc lËp vÝ dô nh trong «t«, c¸c thiÕt bÞ ®o lêng,
®iÒu khiÓn, truyÒn th«ng vµ thiÕt bÞ th«ng minh nãi chung. Chóng lµ nh÷ng
tæ hîp cña phÇn cøng vµ phÇn mÒm ®Ó thùc hiÖn mét hoÆc mét nhãm chøc
n¨ng chuyªn biÖt, cô thÓ (Tr¸i ngîc víi m¸y tÝnh PC mµ chóng ta thêng
thÊy ®îc sö dông kh«ng ph¶i cho mét chøc n¨ng mµ lµ rÊt nhiÒu chøc
n¨ng hay phôc vô chung cho nhiÒu môc ®Ých). PC thùc chÊt l¹i lµ mét hÖ
thèng lín, tæ hîp cña nhiÒu hÖ thèng nhóng vÝ dô nh card mµn h×nh, ©m
thanh, modem, æ cøng, bµn phÝm… ChÝnh ®iÒu nµy lµm chóng ta dÔ lóng
tóng nÕu ®îc hái nªn hiÓu thÕ nµo vÒ PC, cã ph¶i lµ hÖ nhóng hay kh«ng.

H×nh 1-1: HÖ nhóng


11

1.1.1.2. HÖ thêi gian thùc.

Trong c¸c bµi to¸n ®iÒu khiÓn vµ øng dông chóng ta rÊt hay gÆp thuËt
ng÷ “thêi gian thùc”. Thêi gian thùc cã ph¶i lµ thêi gian ph¶n ¸nh vÒ ®é trung
thùc cña thêi gian hay kh«ng? Thêi gian thùc cã ph¶i lµ hiÓn thÞ chÝnh x¸c vµ
®ång bé theo ®óng nh nhÞp ®ång hå ®Õm thêi gian hay kh«ng? Kh«ng ph¶i
hoµn toµn nh vËy! Thùc chÊt, theo c¸ch hiÓu nÕu nãi trong c¸c hÖ thèng kü
thuËt ®Æc biÖt c¸c hÖ thèng yªu cÇu kh¾t khe vÒ sù rµng buéc thêi gian, thêi
gian thùc ®îc hiÓu lµ yªu cÇu cña hÖ thèng ph¶i ®¶m b¶o tho¶ m·n vÒ tÝnh
tiÒn ®Þnh trong ho¹t ®éng cña hÖ thèng. TÝnh tiÒn ®Þnh nãi lªn hµnh vi cña hÖ
thèng thùc hiÖn ®óng trong mét khung thêi gian cho tríc hoµn toµn x¸c ®Þnh.
Khung thêi gian nµy ®îc quyÕt ®Þnh bëi ®Æc ®iÓm hoÆc yªu cÇu cña hÖ thèng,
cã thÓ lµ vµi gi©y vµ còng cã thÓ lµ vµi nano gi©y hoÆc nhá h¬n n÷a. ë ®©y
chóng ta ph©n biÖt yÕu tè thêi gian g¾n liÒn víi kh¸i niÖm vÒ thêi gian thùc.
Kh«ng ph¶i hÖ thèng thùc hiÖn rÊt nhanh lµ sÏ ®¶m b¶o ®îc tÝnh thêi gian
thùc v× nhanh hay chËm hoµn toµn lµ phÐp so s¸nh cã tÝnh t¬ng ®èi v× mili
gi©y cã thÓ lµ nhanh víi hÖ thèng ®iÒu khiÓn nhiÖt nhng l¹i lµ chËm ®èi víi
c¸c ®èi tîng ®iÒu khiÓn ®iÖn nh dßng, ¸p…. H¬n thÕ n÷a nÕu chØ nhanh
kh«ng th× cha ®ñ mµ ph¶i ®¶m b¶o duy tr× æn ®Þnh b»ng mét c¬ chÕ ho¹t
®éng tin cËy. ChÝnh v× vËy hÖ thèng kh«ng kiÓm so¸t ®îc ho¹t ®éng cña nã
(bÊt ®Þnh) th× kh«ng thÓ lµ mét hÖ thèng ®¶m b¶o tÝnh thêi gian thùc mÆc dï
hÖ thèng ®ã cã thÓ cho ®¸p øng rÊt nhanh, thËm chÝ nhanh h¬n rÊt nhiÒu so víi
yªu cÇu ®Æt ra. Mét vÝ dô minh ho¹ tiªu biÓu ®ã lµ c¬ chÕ truyÒn th«ng d÷ liÖu
qua ®êng truyÒn chuÈn Ethernet truyÒn thèng, mÆc dï ai còng biÕt tèc ®é
truyÒn lµ rÊt nhanh nhng vÉn kh«ng ph¶i hÖ ho¹t ®éng thêi gian thùc v×
kh«ng tho¶ m·n tÝnh tiÒn ®Þnh trong c¬ chÕ truyÒn d÷ liÖu (cã thÓ lµ rÊt nhanh
vµ còng cã thÓ lµ rÊt chËm nÕu cã sù canh tr¹nh vµ giao th«ng ®êng truyÒn bÞ
nghÏn).
12

Ngêi ta ph©n ra lµm hai lo¹i ®èi víi kh¸i niÖm thêi gian thùc lµ cøng
(hard real-time) vµ mÒm (soft real-time). Thêi gian thùc cøng lµ khi hÖ thèng
ho¹t ®éng víi yªu cÇu tho¶ m·n sù rµng buéc trong khung thêi gian cøng tøc
lµ nÕu vi ph¹m th× sÏ dÉn ®Õn ho¹t ®éng cña toµn hÖ thèng bÞ sai hoÆc bÞ ph¸
huû. VÝ dô vÒ ho¹t ®éng ®iÒu khiÓn cho mét lß ph¶n øng h¹t nh©n, nÕu chËm
ra quyÕt ®Þnh cã thÓ dÉn ®Õn th¶m ho¹ g©y ra do ph¶n øng ph©n h¹ch vµ dÉn
®Õn bïng næ c¶ hÖ thèng. Thêi gian thùc mÒm lµ khi hÖ thèng ho¹t ®éng víi
yªu cÇu tho¶ m·n rµng buéc trong khung thêi gian mÒm, nÕu vi ph¹m vµ sai
lÖch n»m trong kho¶ng cho phÐp th× hÖ thèng vÉn cã thÓ ho¹t ®éng ®îc vµ
chÊp nhËn ®îc. VÝ dô nh hÖ thèng ph¸t thanh truyÒn h×nh, nÕu th«ng tin
truyÒn ®i tõ tr¹m ph¸t tíi ngêi nghe/nh×n chËm mét vµi gi©y th× còng kh«ng
¶nh hëng ®¸ng kÓ ®Õn tÝnh thêi sù cña tin ®îc truyÒn ®i vµ hoµn toµn ®îc
chÊp nhËn bëi ngêi theo dâi.

Thùc tÕ thÊy r»ng hÇu hÕt hÖ nhóng lµ c¸c hÖ thêi gian thùc vµ hÇu hÕt
c¸c hÖ thêi gian thùc lµ hÖ nhóng. §iÒu nµy ph¶n ¸nh mèi quan hÖ mËt thiÕt
gi÷a hÖ nhóng vµ thêi gian thùc vµ tÝnh thêi gian thùc ®· trë thµnh nh mét
thuéc tÝnh tiªu biÓu cña hÖ nhóng. V× vËy hiÖn nay khi ®Ò cËp tíi c¸c hÖ nhóng
ngêi ta ®Òu nãi tíi ®Æc tÝnh c¬ b¶n cña nã lµ tÝnh thêi gian thùc.

H×nh 1-2: Ph©n bæ vµ quan hÖ gi÷a hÖ nhóng vµ thêi gian thùc


13

1.1.2. LÜnh vùc øng dông cña hÖ nhóng.

Chóng ta cã thÓ kÓ ra ®îc rÊt nhiÒu c¸c øng dông cña hÖ thèng nhóng
®ang ®îc sö dông hiÖn nay, vµ xu thÕ sÏ cßn tiÕp tôc t¨ng nhanh. Mét sè c¸c
lÜnh vùc vµ s¶n phÈm thÞ trêng réng lín cña c¸c hÖ nhóng cã thÓ ®îc nhãm
nh sau:

• C¸c thiÕt bÞ ®iÒu khiÓn

• ¤t«, tµu ®iÖn

• TruyÒn th«ng

• ThiÕt bÞ y tÕ

• HÖ thèng ®o lêng thÈm ®Þnh

• Toµ nhµ th«ng minh

• ThiÕt bÞ trong c¸c d©y truyÒn s¶n xuÊt

• R«bèt

1.1.3. §Æc ®iÓm c«ng nghÖ vµ xu thÕ ph¸t triÓn cña hÖ nhóng.
1.1.3.1. §Æc ®iÓm c«ng nghÖ.

C¸c hÖ thèng nh vËy ®Òu cã chung mét sè ®Æc ®iÓm nh yªu cÇu vÒ kh¶
n¨ng thêi gian thùc, ®é tin cËy, tÝnh ®éc lËp vµ hiÖu qu¶. Mét c©u hái ®Æt ra lµ
t¹i sao hÖ thèng nhóng l¹i ph¸t triÓn vµ ®îc phæ cËp mét c¸ch nhanh chãng
nh hiÖn nay. C©u tr¶ lêi thùc ra n»m ë c¸c yªu cÇu t¨ng lªn kh«ng ngõng
trong c¸c øng dông c«ng nghÖ hiÖn nay. Mét trong nh÷ng yªu cÇu c¬ b¶n ®ã
lµ:

Kh¶ n¨ng ®éc lËp vµ th«ng minh ho¸: §iÒu nµy ®îc chØ râ h¬n th«ng
qua mét sè c¸c thuéc tÝnh yªu cÇu, cô thÓ nh:

 §é tin cËy
 Kh¶ n¨ng b¶o tr× vµ n©ng cÊp
14

 Sù phæ cËp vµ tiÖn sö dông


 §é an toµn
 TÝnh b¶o mËt

HiÖu qu¶: Yªu cÇu nµy ®îc thÓ hiÖn th«ng qua mét sè c¸c ®Æc ®iÓm cña
hÖ thèng nh sau:

 N¨ng lîng tiªu thô


 KÝch thíc vÒ phÇn cøng vµ phÇn mÒm
 HiÖu qu¶ vÒ thêi gian thùc hiÖn
 KÝch thíc vµ khèi lîng
 Gi¸ thµnh

Ph©n ho¹ch t¸c vô vµ chøc n¨ng ho¸: C¸c bé vi xö lý trong c¸c hÖ nhóng
thêng ®îc sö dông ®Ó ®¶m nhiÖm vµ thùc hiÖn mét hoÆc mét nhãm chøc
n¨ng rÊt ®éc lËp vµ còng ®Æc thï cho tõng phÇn chøc n¨ng cña hÖ thèng lín
mµ nã ®îc nhóng vµo. VÝ dô nh mét vi xö lý thùc hiÖn mét phÇn ®iÒu khiÓn
cho mét chøc n¨ng thu thËp, xö lý vµ hiÓn thÞ cña «t« hay hÖ thèng ®iÒu khiÓn
qu¸ trÝnh. Kh¶ n¨ng nµy lµm t¨ng thªm sù chuyªn biÖt ho¸ vÒ chøc n¨ng cña
mét hÖ thèng lín vµ dÔ dµng h¬n cho qu¸ trÝnh x©y dùng, vËn hµnh vµ b¶o tr×.

Kh¶ n¨ng thêi gian thùc: C¸c hÖ thèng ®Òu g¾n liÒn víi viÖc ®¶m nhiÖm
mét chøc n¨ng chÝnh vµ ph¶i ®îc thùc hiÖn ®óng theo mét khung thêi gian
qui ®Þnh. Th«ng thêng mét chøc n¨ng cña hÖ thèng ph¶i ®îc thùc hiÖn vµ
hoµn thµnh theo mét yªu cÇu thêi gian ®Þnh tríc ®Ó ®¶m b¶o th«ng tin cËp
nhËt kÞp thêi cho phÇn xö lý cña c¸c chøc n¨ng kh¸c vµ cã thÓ ¶nh hëng trùc
tiÕp tíi sù ho¹t ®éng ®óng vµ chÝnh x¸c cña toµn hÖ thèng. Tuú thuéc vµo tõng
bµi to¸n vµ yªu cÇu cña hÖ thèng mµ yªu cÇu vÒ kh¶ n¨ng thêi gian thùc còng
rÊt kh¸c nhau.

Tuy nhiªn, trong thùc tÕ kh«ng ph¶i hÖ nhóng nµo còng ®Òu cã thÓ tho¶
m·n tÊt c¶ nh÷ng yªu cÇu nªu trªn, v× chóng lµ kÕt qu¶ cña sù tho¶ hiÖp cña
15

nhiÒu yªu cÇu vµ ®iÒu kiÖn nh»m u tiªn cho chøc n¨ng cô thÓ mµ chóng ®îc
thiÕt kÕ. ChÝnh ®iÒu nµy l¹i cµng lµm t¨ng thªm tÝnh chuyªn biÖt ho¸ cña c¸c
hÖ/thiÕt bÞ nhóng mµ c¸c thiÕt bÞ ®a n¨ng kh«ng thÓ c¹nh tranh ®îc.

1.1.3.2. Xu thÕ ph¸t triÓn vµ sù t¨ng trëng cña hÖ nhóng.

V× sù ph¸t triÓn hÖ nhóng lµ sù kÕt hîp nhuÇn nhuyÔn gi÷a phÇn cøng vµ
phÇn mÒm nªn c«ng nghÖ g¾n liÒn víi nã còng chÝnh lµ c«ng nghÖ kÕt hîp
gi÷a c¸c gi¶i ph¸p cho phÇn cøng vµ mÒm. V× tÝnh chuyªn biÖt cña c¸c thiÕt bÞ
/ hÖ nhóng nh ®· giíi thiÖu nªn c¸c nÒn phÇn cøng còng ®îc chÕ t¹o ®Ó u
tiªn ®¸p øng cho chøc n¨ng hay nhiÖm vô cô thÓ cña yªu cÇu thiÕt kÕ ®Æt ra.

Líp hÖ nhóng u tiªn ph¸t triÓn theo tiªu chÝ vÒ kÝch thíc nhá gän, tiªu
thô n¨ng lîng Ýt, gi¸ thµnh thÊp. C¸c chÝp xö lý nhóng cho líp hÖ thèng øng
dông ®ã thêng yªu cÇu vÒ kh¶ n¨ng tÝnh to¸n Ýt hoÆc võa ph¶i nªn hÇu hÕt
®îc x©y dùng trªn cë së bé ®ång xö lý 8 bÝt -16 bit hoÆc cïng l¾m lµ 32 bit
vµ kh«ng hç trî dÊu ph¶y ®éng do sù h¹n chÕ vÒ dung lîng vµ kh¶ n¨ng tÝnh
to¸n.

Líp hÖ nhóng u tiªn thùc thi kh¶ n¨ng xö lý tÝnh to¸n víi tèc ®é thùc
hiÖn nhanh. C¸c chÝp xö lý nhóng cho c¸c hÖ thèng ®ã còng sÏ lµ c¸c Chip ¸p
dông c¸c c«ng nghÖ cao cÊp víi kiÕn tróc xö lý song song ®Ó ®¸p øng ®îc
cêng ®é tÝnh to¸n lín vµ tèc ®é mµ c¸c Chip xö lý ®a chøc n¨ng th«ng
thêng kh«ng ®¹t tíi ®îc.

Líp hÖ thèng u tiªn c¶ hai tiªu chÝ ph¸t triÓn cña hai líp trªn, tøc lµ kÝch
thíc nhá gän, møc tiªu thô n¨ng lîng thÊp, tèc ®é tÝnh to¸n nhanh. Tïy
theo sù tho¶ hiÖp gi÷a c¸c yªu cÇu vµ xu thÕ ph¸t triÓn chÝnh v× vËy còng
kh«ng cã g× ng¹c nhiªn khi chóng ta thÊy sù tån t¹i song song cña rÊt nhiÒu
c¸c Chip vi xö lý nhóng, vi ®iÒu khiÓn nhóng 8 bit, 16 bit hay 32 bit cïng víi
c¸c ChÝp siªu xö lý kh¸c vÉn ®ang ®îc øng dông réng r·i cho hÖ nhóng. §ã
16

còng lµ sù kÕt hîp ®a d¹ng vµ sù ra ®êi cña c¸c hÖ nhóng nãi chung nh»m tho¶
m·n c¸c øng dông ph¸t triÓn kh«ng ngõng.

Víi mçi mét nÒn phÇn cøng nhóng thêng cã nh÷ng ®Æc thï riªng vµ
kÌm theo mét gi¶i ph¸p ph¸t triÓn phÇn mÒm tèi u t¬ng øng. Kh«ng cã mét
gi¶i ph¸p nµo chung vµ chuÈn t¾c cho tÊt c¶ c¸c hÖ nhóng. ChÝnh v× vËy th«ng
thêng c¸c nhµ ph¸t triÓn vµ cung cÊp phÇn cøng còng l¹i chÝnh lµ nhµ cung
cÊp gi¶i ph¸p phÇn mÒm hoÆc c«ng cô ph¸t triÓn phÇn mÒm kÌm theo. RÊt phæ
biÕn hiÖn nay c¸c Chip vi xö lý hay vi ®iÒu khiÓn ®Òu cã c¸c hÖ ph¸t triÓn
(Starter Kit hay Emulator) ®Ó hç trî cho c¸c nhµ øng dông vµ x©y dùng hÖ
nhóng víi hiÓu biÕt h¹n chÕ vÒ phÇn cøng. Ng«n ng÷ m· ho· phÇn mÒm còng
thêng lµ C hoÆc gÇn gièng nh C (Likely C) thay v× ph¶i viÕt hoµn toµn b»ng
hîp ng÷ Assembly. §iÒu nµy cho phÐp c¸c nhµ thiÕt kÕ tèi u vµ ®¬n gi¶n ho¸
rÊt nhiÒu cho bíc ph¸t triÓn vµ x©y dùng hÖ nhóng.

Trong xu thÕ ph¸t triÓn kh«ng ngõng vµ nh»m tho¶ m·n ®îc nhu cÇu
ph¸t triÓn nhanh vµ hiÖu qu¶ cã rÊt nhiÒu c¸c c«ng nghÖ cho phÐp thùc thi c¸c
gi¶i ph¸p hÖ nhóng. §øng sau sù phæ cËp réng r·i cña c¸c Chip vi xö lý vi
®iÒu khiÓn nhóng, DSP ph¶i kÓ ®Õn c¸c c«ng nghÖ còng ®ang rÊt ®îc quan
t©m hiÖn nay nh ASIC, CPLD, FPGA, PSOC vµ sù tæ hîp cña chóng...KÌm
theo ®ã lµ c¸c kü thuËt ph¸t triÓn phÇn mÒm cho phÐp ®¶m nhiÖm ®îc c¸c bµi
to¸n yªu cÇu kh¾t khe trªn c¬ së mét nÒn phÇn cøng h÷u h¹n vÒ kh¶ n¨ng xö
lý vµ kh«ng gian bé nhí. Gi¶i quyÕt c¸c bµi to¸n thêi gian thùc nh ph©n chia
t¸c vô vµ gi¶i quyÕt c¹nh tranh chia sÎ tµi nguyªn chung. HiÖn nay còng ®· cã
nhiÒu nhµ ph¸t triÓn c«ng nghÖ phÇn mÒm lín ®ang híng vµo thÞ trêng hÖ
nhóng bao gåm c¶ Microsoft. Ngoµi mét sè c¸c hÖ ®iÒu hµnh Windows quen
thuéc dïng cho PC, Microsoft còng ®· tung ra c¸c phiªn b¶n mini nh
WindowsCE, WindowsXP Embedded vµ c¸c c«ng cô ph¸t triÓn øng dông kÌm
theo ®Ó phôc vô cho c¸c thiÕt bÞ nhóng, ®iÓn h×nh nh c¸c thiÕt bÞ PDA, mét
sè thiÕt bÞ ®iÒu khiÓn c«ng nghiÖp nh c¸c m¸y tÝnh nhóng, IPC cña Siemens...
17

Cã thÓ nãi hÖ nhóng ®· trë thµnh mét gi¶i ph¸p c«ng nghÖ vµ ph¸t triÓn
mét c¸ch nhanh chãng, høa hÑn nhiÒu thiÕt bÞ nhóng sÏ chiÕm lÜnh ®îc thÞ
trêng réng lín trong t¬ng lai nh»m ®¸p øng nhu cÇu øng dông kh«ng ngõng
trong cuéc sèng cña chóng ta. §èi víi lÜnh vùc c«ng nghiÖp vÒ ®iÒu khiÓn vµ
tù ®éng ho¸, hÖ nhóng còng lµ mét gi¶i ph¸p ®Çy tiÒm n¨ng ®· vµ ®ang ®îc
øng dông réng r·i. Nã rÊt phï hîp ®Ó thùc thi c¸c chøc n¨ng th«ng minh ho¸,
chuyªn biÖt trong c¸c hÖ thèng vµ thiÕt bÞ c«ng nghiÖp, tõ c¸c hÖ thèng tËp
trung ®Õn c¸c hÖ thèng ph©n t¸n. Gi¶i ph¸p hÖ nhóng cã thÓ thùc thi tõ cÊp
thÊp nhÊt cña hÖ thèng c«ng nghiÖp nh c¬ cÊu chÊp hµnh cho ®Õn c¸c cÊp cao
h¬n nh gi¸m s¸t ®iÒu khiÓn qu¸ tr×nh.

1.2. CÊu tróc phÇn cøng cña hÖ nhóng.


1.2.1. C¸c thµnh phÇn kiÕn tróc c¬ b¶n.

H×nh 1-3: KiÕn tróc ®iÓn h×nh cña c¸c chip VXL/VDK nhóng
18

1.2.1.1. §¬n vÞ xö lý trung t©m CPU.

H×nh 1-4: CÊu tróc CPU

Ngêi ta vÉn biÕt tíi phÇn lâi xö lý cña c¸c bé VXL lµ ®¬n vÞ xö lý trung
t©m CPU (Central Processing Unit) ®ãng vai trß nh bé n·o chÞu tr¸ch nhiÖm
thùc thi c¸c phÐp tÝnh vµ thùc hiÖn c¸c lÖnh. PhÇn chÝnh cña CPU ®¶m nhiÖm
chøc n¨ng nµy lµ ®¬n vÞ logic to¸n häc (ALU – Arthimetic Logic Unit).
Ngoµi ra ®Ó hç trî cho ho¹t ®éng cña ALU cßn cã thªm mét sè c¸c thµnh
phÇn kh¸c nh bé gi¶i m· (decoder), bé tuÇn tù (sequencer) vµ c¸c thanh ghi.

Bé gi¶i m· chuyÓn ®æi (th«ng dÞch) c¸c lÖnh lu tr÷ ë trong bé m·
ch¬ng tr×nh thµnh c¸c m· mµ ALU cã thÓ hiÓu ®îc vµ thùc thi. Bé tuÇn tù
cã nhiÖm vô qu¶n lý dßng d÷ liÖu trao ®æi qua bus d÷ liÖu cña VXL. C¸c
thanh ghi ®îc sö dông ®Ó CPU lu tr÷ t¹m thêi c¸c d÷ liÖu chÝnh cho viÖc
thùc thi c¸c lÖnh vµ chóng cã thÓ thay ®æi néi dung trong qu¸ tr×nh ho¹t ®éng
cña ALU. HÇu hÕt c¸c thanh ghi cña VXL ®Òu lµ c¸c bé nhí ®îc tham chiÕu
(mapped) vµ héi nhËp víi khu vùc bé nhí vµ cã thÓ ®îc sö dông nh bÊt kú
khu vùc nhí kh¸c.
19

C¸c thanh ghi cã chøc n¨ng lu tr÷ tr¹ng th¸i cña CPU. NÕu c¸c néi dung
cña bé nhí VXL vµ c¸c néi dung cña c¸c thanh ghi t¹i mét thêi ®iÓm nµo ®ã
®îc lu gi÷ ®Çy ®ñ th× hoµn toµn cã thÓ t¹m dõng thùc hiÖn phÇn ch¬ng
tr×nh hiÖn t¹i trong mét kho¶ng thêi gian bÊt kú vµ cã thÓ trë l¹i tr¹ng th¸i cña
CPU tríc ®ã. Thùc tÕ sè lîng c¸c thanh ghi vµ tªn gäi cña chóng còng kh¸c
nhau trong c¸c hä VXL/V§K vµ thêng do chÝnh c¸c nhµ chÕ t¹o qui ®Þnh,
nhng vÒ c¬ b¶n chóng ®Òu cã chung c¸c chøc n¨ng nh ®· nªu.

Khi thø tù byte trong bé nhí ®· ®îc x¸c ®Þnh th× ngêi thiÕt kÕ phÇn
cøng ph¶i thùc hiÖn mét sè quyÕt ®Þnh xem CPU sÏ lu d÷ liÖu ®ã nh thÕ
nµo. C¬ chÕ nµy còng kh¸c nhau tuú theo kiÕn tróc tËp lÖnh ®îc ¸p dông. Cã
ba lo¹i h×nh c¬ b¶n:

(1) KiÕn tróc ng¨n xÕp

(2) KiÕn tróc bé tÝch luü

(3) KiÕn tróc thanh ghi môc ®Ých chung

KiÕn tróc ng¨n xÕp sö dông ng¨n xÕp ®Ó thùc hiÖn lÖnh vµ c¸c to¸n tö
nhËn ®îc tõ ®Ønh ng¨n xÕp. MÆc dï c¬ chÕ nµy hç trî mËt ®é m· tèt vµ m«
h×nh ®¬n gi¶n cho viÖc ®¸nh gi¸ c¸ch thÓ hiÖn ch¬ng tr×nh nhng ng¨n xÕp
kh«ng thÓ hç trî kh¶ n¨ng truy nhËp ngÉu nhiªn vµ h¹n chÕ hiÖu suÊt thùc
hiÖn lÖnh.

KiÕn tróc bé tÝch luü víi lÖnh mét to¸n tö ngÇm mÆc ®Þnh chøa trong
thanh ghi tÝch luü cã thÓ gi¶m ®îc ®é phøc t¹p bªn trong cña cÊu tróc CPU
vµ cho phÐp cÊu thµnh lÖnh rÊt nhá gän. Nhng thanh ghi tÝch luü chØ lµ n¬i
chøa d÷ liÖu t¹m thêi nªn giao th«ng bé nhí rÊt lín.

KiÕn tróc thanh ghi môc ®Ých chung sö dông c¸c tËp thanh ghi môc ®Ých
chung vµ ®îc ®ãn nhËn nh m« h×nh cña c¸c hÖ thèng CPU míi, hiÖn ®¹i.
C¸c tËp thanh ghi ®ã nhanh h¬n bé nhí thêng vµ dÔ dµng cho bé biªn dÞch
20

xö lý thùc thi vµ cã thÓ ®îc sö dông mét c¸ch hiÖu qu¶. H¬n n÷a gi¸ thµnh
phÇn cøng ngµy cµng cã xu thÕ gi¶m ®¸ng kÓ vµ tËp thanh ghi cã thÓ t¨ng
nhanh. NÕu c¬ chÕ truy nhËp bé nhí nhanh th× kiÕn tróc dùa trªn ng¨n xÕp cã
thÓ lµ sù lùa chän lý tëng; cßn nÕu truy nhËp bé nhí chËm th× kiÕn tróc thanh
ghi sÏ lµ sù lùa chän phï hîp nhÊt.

Mét sè thanh ghi víi chøc n¨ng ®iÓn h×nh thêng ®îc sö dông trong c¸c
kiÕn tróc CPU nh sau:
 Thanh ghi con trá ng¨n xÕp (stack pointer):

Thanh ghi nµy lu gi÷ ®Þa chØ tiÕp theo cña ng¨n xÕp. Theo nguyªn lý gi¸
trÞ ®Þa chØ chøa trong thanh ghi con trá ng¨n xÕp sÏ gi¶m nÕu d÷ liÖu ®îc lu
thªm vµo ng¨n xÕp vµ sÏ t¨ng khi d÷ liÖu ®îc lÊy ra khái ng¨n xÕp.
 Thanh ghi chØ sè (index register)

Thanh ghi chØ sè ®îc sö dông ®Ó lu ®Þa chØ khi mode ®Þa chØ ®îc sö
dông. Nã cßn ®îc biÕt tíi víi tªn gäi lµ thanh ghi con trá hay thanh ghi lùa
chän tÖp (Microchip).
 Thanh ghi ®Þa chØ lÖnh /Bé ®Õm ch¬ng tr×nh (Program Counter)

Mét trong nh÷ng thanh ghi quan träng nhÊt cña CPU lµ thanh ghi bé ®Õm
ch¬ng tr×nh. Thanh ghi bé ®Õm ch¬ng tr×nh lu ®Þa chØ lÖnh tiÕp theo cña
ch¬ng tr×nh sÏ ®îc CPU xö lý. Mçi khi lÖnh ®îc trá tíi vµ ®îc CPU xö lý
th× néi dung gi¸ trÞ cña thanh ghi bé ®Õm ch¬ng tr×nh sÏ t¨ng lªn mét.
Ch¬ng tr×nh sÏ kÕt thóc khi thanh ghi PC cã gi¸ trÞ b»ng ®Þa chØ cuèi cïng
cña ch¬ng tr×nh n»m trong bé nhí ch¬ng tr×nh.
 Thanh ghi tÝch lòy (Accumulator)

Thanh ghi tÝch lòy lµ mét thanh ghi giao tiÕp trùc tiÕp víi ALU, ®îc sö
dông ®Ó lu gi÷ c¸c to¸n tö hoÆc kÕt qu¶ cña mét phÐp to¸n trong qu¸ tr×nh
ho¹t ®éng cña ALU.
21

1.2.1.2. Xung nhÞp vµ tr¹ng th¸i d÷ liÖu.

Trong VXL vµ c¸c vi m¹ch sè nãi chung, ho¹t ®éng cña hÖ thèng ®îc
thùc hiÖn ®ång bé hoÆc dÞ bé theo c¸c xung nhÞp chuÈn. C¸c nhÞp ®ã ®îc lÊy
trùc tiÕp hoÆc gi¸n tiÕp tõ mét nguån xung chuÈn thêng lµ c¸c m¹ch t¹o xung
hoÆc dao ®éng th¹ch anh. §Ó m« t¶ ho¹t ®éng cña hÖ thèng, c¸c tÝn hiÖu d÷
liÖu vµ ®iÒu khiÓn thêng ®îc m« t¶ tr¹ng th¸i theo gi¶n ®å thêi gian vµ møc
tÝn hiÖu nh ®îc chØ ra trong h×nh 1-5 m« t¶ vµ tr¹ng th¸i tÝn hiÖu ho¹t ®éng
trong VXL.

H×nh 1-5: M« t¶ vµ tr¹ng th¸i tÝn hiÖu ho¹t ®éng trong VXL

Môc ®Ých cña viÖc m« t¶ tr¹ng th¸i tÝn hiÖu theo gi¶n ®å thêi gian vµ møc
tÝn hiÖu lµ ®Ó ph©n tÝch vµ x¸c ®Þnh chuçi sù kiÖn ho¹t ®éng chi tiÕt trong mçi
chu kú bus. Nhê viÖc m« t¶ nµy chóng ta cã thÓ xem xÐt ®Õn kh¶ n¨ng ®¸p
øng thêi gian cña c¸c sù kiÖn thùc thi trong hÖ thèng vµ thêi gian cÇn thiÕt ®Ó
thùc thi ho¹t ®éng tuÇn tù còng nh lµ kh¶ n¨ng t¬ng thÝch khi cã sù ho¹t
®éng phèi hîp gi÷a c¸c thiÕt bÞ ghÐp nèi hay më réng trong hÖ thèng. Th«ng
thêng th«ng tin vÒ c¸c nhÞp thêi gian ho¹t ®éng còng nh ®Æc tÝnh kü thuËt
chi tiÕt ®îc cung cÊp hoÆc qui ®Þnh bëi c¸c nhµ chÕ t¹o.

Mét sè ®Æc trng vÒ thêi gian cña c¸c tr¹ng th¸i ho¹t ®éng c¬ b¶n cña
c¸c tÝn hiÖu hÖ thèng gåm cã nh sau:
 Thêi gian t¨ng hoÆc gi¶m
 Thêi gian trÔ lan truyÒn tÝn hiÖu
22

 Thêi gian thiÕt lËp


 Thêi gian gi÷
 TrÔ cÊm ho¹t ®éng vµ tr¹ng th¸i treo (Tri-State)
 §é réng xung
 TÇn sè nhÞp xung ho¹t ®éng
 Thêi gian t¨ng hoÆc gi¶m

H×nh 1-6: M« t¶ tr¹ng th¸i tÝn hiÖu logic t¨ng hoÆc gi¶m

Thêi gian t¨ng ®îc ®Þnh nghÜa lµ kho¶ng thêi gian ®Ó tÝn hiÖu t¨ng tõ
20% ®Õn 80% møc tÝn hiÖu cÇn thiÕt. Thêi gian gi¶m lµ kho¶ng thêi gian ®Ó
tÝn hiÖu gi¶m tõ 80% ®Õn 20% møc tÝn hiÖu cÇn thiÕt.
 Thêi gian trÔ lan truyÒn:

Lµ kho¶ng thêi gian tÝnh tõ khi thay ®æi tÝn hiÖu vµo cho tíi khi cã sù
thay ®æi tÝn hiÖu ë ®Çu ra. §Æc tÝnh nµy thêng do cÊu t¹o vµ kh¶ n¨ng truyÒn
dÉn tÝn hiÖu vËt lý trong hÖ thèng tÝn hiÖu.

H×nh 1-7: M« t¶ tr¹ng th¸i vµ ®é trÔ lan truyÒn tÝn hiÖu


 Thêi gian thiÕt lËp vµ lu gi÷

Kho¶ng thêi gian cÇn thiÕt ®Ó tÝn hiÖu trÝch mÉu ®¹t tíi mét tr¹ng th¸i æn
®Þnh tríc khi nhÞp xung chuÈn ®ång hå thay ®æi ®îc gäi lµ thêi gian thiÕt
23

lËp. Thêi gian lu gi÷ lµ kho¶ng thêi gian cÇn thiÕt ®Ó duy tr× tÝn hiÖu trÝch
mÉu æn ®Þnh sau khi xung nhÞp chuÈn ®ång hå thay ®æi. Thùc chÊt kho¶ng
thêi gian thiÕt lËp vµ thêi gian lu gi÷ lµ cÇn thiÕt ®Ó ®¶m b¶o tÝn hiÖu ®îc
ghi nhËn chÝnh x¸c vµ æn ®Þnh trong qu¸ tr×nh ho¹t ®éng vµ chuyÓn møc tr¹ng
th¸i. Gi¶n ®å thêi gian trong h×nh 1-8 thêi gian thiÕt lËp vµ lu gi÷ minh häa
thêi gian thiÕt lËp vµ lu gi÷ trong ho¹t ®éng cña Triger D.

H×nh 1-8: Thêi gian thiÕt lËp vµ lu tr÷


Trong trêng hîp ho¹t ®éng chuyÓn tr¹ng th¸i tÝn hiÖu kh«ng ®ång bé vµ
kh«ng ®¶m b¶o ®îc thêi gian thiÕt lËp vµ lu gi÷ sÏ cã thÓ dÉn ®Õn sù mÊt æn
®Þnh hay kh«ng x¸c ®Þnh møc tÝn hiÖu trong hÖ thèng. HiÖn tîng nµy ®îc
biÕt tíi víi tªn gäi lµ metastabilit. §Ó minh häa cho hiÖn tîng nµy trong h×nh
1-9 m« t¶ ho¹t ®éng lçi cña mét Triger khi c¸c møc tÝn hiÖu vµo kh«ng tháa
m·n yªu cÇu vÒ thêi thiÕt lËp vµ lu gi÷.

H×nh 1-9: HiÖn tîng Metastabilit trong ho¹t ®éng cña Triger D
Chu kú tÝn hiÖu 3 tr¹ng th¸i vµ contention
24

H×nh 1-10: M« t¶ m« h×nh 3 tr¹ng th¸i vµ contention


§é réng xung vµ tÇn sè nhÞp xung chuÈn

H×nh 1-11: §é réng vµ tÇn sè xung nhÞp chuÈn


1.2.1.3. Bus ®Þa chØ, d÷ liÖu vµ ®iÒu khiÓn
 Bus ®Þa chØ

Bus ®Þa chØ lµ c¸c ®êng dÉn tÝn hiÖu logic mét chiÒu ®Ó truyÒn ®Þa chØ
tham chiÕu tíi c¸c khu vùc bé nhí vµ chØ ra d÷ liÖu ®îc lu gi÷ ë ®©u trong
kh«ng gian bé nhí. Trong qóa tr×nh ho¹t ®éng CPU sÏ ®iÒu khiÓn bus ®Þa chØ
®Ó truyÒn d÷ liÖu gi÷a c¸c khu vùc bé nhí vµ CPU. C¸c ®Þa chØ th«ng thêng
tham chiÕu tíi c¸c khu vùc bé nhí hoÆc c¸c khu vùc vµo ra, hoÆc ngo¹i vi. D÷
liÖu ®îc lu ë c¸c khu vùc ®ã thêng lµ 8-bit (1 byte), 16-bit, hoÆc 32-bit tïy
thuéc vµo cÊu tróc tõng lo¹i vi xö lý/vi ®iÒu khiÓn. HÇu hÕt c¸c vi ®iÒu khiÓn
thêng ®¸nh ®Þa chØ d÷ liÖu theo khèi 8-bit. C¸c lo¹i vi xö lý 8-bit, 16-bit vµ
25

32-bit nãi chung còng ®Òu cã thÓ lµm viÖc trao ®æi víi kiÓu d÷ liÖu 8-bit vµ
16-bit.

Chóng ta vÉn thêng ®îc biÕt tíi kh¸i niÖm ®Þa chØ truy nhËp trùc tiÕp,
®ã lµ kh¶ n¨ng CPU cã thÓ tham chiÕu vµ truy nhËp tíi trong mét chu kú bus.
NÕu vi xö lý cã N bit ®Þa chØ tøc lµ nã cã thÓ ®¸nh ®Þa chØ ®îc 2N khu vùc mµ
CPU cã thÓ tham chiÕu trùc tiÕp tíi. Qui íc c¸c khu vùc ®îc ®¸nh ®Þa chØ
b¾t ®Çu tõ ®Þa chØ 0 vµ t¨ng dÇn ®Õn 2N-1. HiÖn nay c¸c vi xö lý vµ vi ®iÒu
khiÓn nãi chung chñ yÕu vÉn sö dông phæ biÕn c¸c bus d÷ liÖu cã ®é réng lµ
16, 20, 24, hoÆc 32-bit. NÕu ®¸nh ®Þa chØ theo byte th× mét vi xö lý 16-bit cã
thÓ ®¸nh ®Þa chØ ®îc 216 khu vùc bé nhí tøc lµ 65,536 byte = 64Kbyte. Tuy
nhiªn cã mét sè khu vùc bé nhí mµ CPU kh«ng thÓ truy nhËp trùc tiÕp tíi tøc
lµ ph¶i sö dông nhiÒu nhÞp bus ®Ó truy nhËp, th«ng thêng ph¶i kÕt hîp víi
viÖc ®iÒu khiÓn phÇn mÒm. Kü thuËt nµy chñ yÕu ®îc sö dông ®Ó më réng bé
nhí vµ thêng ®îc biÕt tíi víi kh¸i niÖm ®¸nh ®Þa chØ trang nhí khi nhu cÇu
®¸nh ®Þa chØ khu vùc nhí vît qu¸ ph¹m vi cã thÓ ®¸nh ®Þa chØ truy nhËp trùc
tiÕp.

VÝ dô: CPU 80286 cã 24-bit ®Þa chØ sÏ cho phÐp ®¸nh ®Þa chØ trùc tiÕp
cho 224 byte (16 Mbyte) nhí. CPU 80386 vµ c¸c lo¹i vi xö lý m¹nh h¬n cã
kh«ng gian ®Þa chØ 32-bit sÏ cã thÓ ®¸nh ®îc tíi 232 byte (4Gbyte) ®Þa chØ
trùc tiÕp.
 Bus d÷ liÖu

Bus d÷ liÖu lµ c¸c kªnh truyÒn t¶i th«ng tin theo hai chiÒu gi÷a CPU vµ
bé nhí hoÆc c¸c thiÕt bÞ ngo¹i vi vµo ra. Bus d÷ liÖu ®îc ®iÒu khiÓn bëi CPU
®Ó ®äc hoÆc viÕt c¸c d÷ liÖu hoÆc m· lÖnh thùc thi trong qu¸ tr×nh ho¹t ®éng
cña CPU. §é réng cña bus d÷ liÖu nãi chung sÏ x¸c ®Þnh ®îc lîng d÷ liÖu
cã thÓ truyÒn vµ trao ®æi trªn bus. Tèc ®é truyÒn hay trao ®æi d÷ liÖu thêng
®îc tÝnh theo ®¬n vÞ lµ [byte/s]. Sè lîng ®êng bit d÷ liÖu sÏ cho phÐp x¸c
26

®Þnh ®îc sè lîng bit cã thÓ lu tr÷ trong mçi khu vùc tham chiÕu trùc tiÕp.
NÕu mét bus d÷ liÖu cã kh¶ n¨ng thùc hiÖn mét lÇn truyÒn trong 1 -s, th× bus
d÷ liÖu 8-bit sÏ cã b¨ng th«ng lµ 1Mbyte/s, bus 16-bit sÏ cã b¨ng th«ng lµ
2Mbyte/s vµ bus 32-bit sÏ cã b¨ng th«ng lµ 4Mbyte/s. Trong trêng hîp bus
d÷ liÖu 8-bit víi chu kú bus lµ T=1-s (tøc lµ sÏ truyÒn ®îc 1byte/1chu kú) th×
sÏ truyÒn ®îc 1 Mbyte trong 1s hay 2Mbyte trong 2s.
 Bus ®iÒu khiÓn

Bus ®iÒu khiÓn phôc vô truyÒn t¶i c¸c th«ng tin d÷ liÖu ®Ó ®iÒu khiÓn
ho¹t ®éng cña hÖ thèng. Th«ng thêng c¸c d÷ liÖu ®iÒu khiÓn bao gåm c¸c tÝn
hiÖu chu kú ®Ó ®ång bé c¸c nhÞp chuyÓn ®éng vµ ho¹t ®éng cña hÖ thèng. Bus
®iÒu khiÓn thêng ®îc ®iÒu khiÓn bëi CPU ®Ó ®ång bé hãa nhÞp ho¹t ®éng vµ
d÷ liÖu trao ®æi trªn c¸c bus. Trong trêng hîp vi xö lý sö dông dån kªnh bus
d÷ liÖu vµ bus ®Þa chØ tøc lµ mét phÇn hoÆc toµn bé bus d÷ liÖu sÏ ®îc sö
dông chung chia sÎ víi bus ®Þa chØ th× cÇn mét tÝn hiÖu ®iÒu khiÓn ®Ó ph©n
nhÞp truy nhËp cho phÐp chèt lu tr÷ th«ng tin ®Þa chØ mçi khi b¾t ®Çu mét chu
kú truyÒn. Mét vÝ dô vÒ c¸c chu kú bus vµ sù ®ång bé cña chóng trong ho¹t
®éng cña hÖ thèng bus ®Þa chØ vµ d÷ liÖu dån kªnh ®îc chØ ra trong H×nh 1-
12. §©y lµ ho¹t ®éng ®iÓn h×nh trong hä vi ®iÒu khiÓn 8051 vµ nhiÒu lo¹i
t¬ng tù.

H×nh 1-12: Chu kú ho¹t ®éng Bus dån kªnh


27

1.2.1.4. Bé nhí.
 KiÕn tróc bé nhí

KiÕn tróc bé nhí ®îc chia ra lµm hai lo¹i chÝnh vµ ®îc ¸p dông réng
r·i trong hÇu hÕt c¸c Chip xö lý nhóng hiÖn nay lµ kiÕn tróc bé nhí von
Neumann vµ Havard.

Trong kiÕn tróc von Neumann kh«ng ph©n biÖt vïng chøa d÷ liÖu vµ m·
ch¬ng tr×nh. C¶ ch¬ng tr×nh vµ d÷ liÖu ®Òu ®îc truy nhËp theo cïng mét
®êng. §iÒu nµy cho phÐp ®a d÷ liÖu vµo vïng m· ch¬ng tr×nh ROM, vµ
còng cã thÓ lu m· ch¬ng tr×nh vµo vïng d÷ liÖu RAM vµ thùc hiÖn tõ ®ã.

H×nh 1-13: KiÕn tróc bé nhí von Neumann vµ Havard


KiÕn tróc Havard t¸ch/ph©n biÖt vïng lu m· ch¬ng tr×nh vµ d÷ liÖu. M·
ch¬ng tr×nh chØ cã thÓ ®îc lu vµ thùc hiÖn trong vïng chøa ROM vµ d÷
liÖu còng chØ cã thÓ lu vµ trao ®æi trong vïng RAM. HÇu hÕt c¸c vi xö lý
nhóng ngµy nay sö dông kiÕn tróc bé nhí Havard hoÆc kiÕn tróc Havard më
réng (tøc lµ bé nhí ch¬ng tr×nh vµ d÷ liÖu t¸ch biÖt nhng vÉn cho phÐp kh¶
n¨ng h¹n chÕ ®Ó lÊy d÷ liÖu ra tõ vïng m· ch¬ng tr×nh). Trong kiÕn tróc bé
nhí Havard më réng thêng sö dông mét sè lîng nhá c¸c con trá ®Ó lÊy d÷
liÖu tõ vïng m· ch¬ng tr×nh theo c¸ch nhóng vµo trong c¸c lÖnh tøc thêi.

Mét sè Chip vi ®iÒu khiÓn nhóng tiªu biÓu hiÖn nay sö dông cÊu tróc
Havard lµ 8031, PIC, Atmel AVR90S. NÕu sö dông Chip 8031 chóng ta sÏ
nhËn thÊy ®iÒu nµy th«ng qua viÖc truy nhËp lÊy d÷ liÖu ra tõ vïng d÷ liÖu
28

RAM hoÆc tõ vïng m· ch¬ng tr×nh. Chóng ta cã mét vµi con trá ®îc sö
dông ®Ó lÊy d÷ liÖu ra tõ bé nhí d÷ liÖu RAM, nhng chØ cã duy nhÊt mét con
trá DPTR cã thÓ ®îc sö dông ®Ó lÊy d÷ liÖu ra tõ vïng m· ch¬ng tr×nh. H×nh
1-14 m« t¶ nguyªn lý kiÕn tróc cña bé nhí von Neumann vµ Harvard.

¦u ®iÓm næi bËt cña cÊu tróc bé nhí Harvard so víi kiÕn tróc von
Neumann lµ cã hai kªnh t¸ch biÖt ®Ó truy nhËp vµo vïng bé nhí m· ch¬ng
tr×nh vµ d÷ liÖu nhê vËy mµ m· ch¬ng tr×nh vµ d÷ liÖu cã thÓ ®îc truy nhËp
®ång thêi vµ lµm t¨ng tèc ®é luång trao ®æi víi bé xö lý.

H×nh 1-14: Nguyªn lý ®iÒu khiÓn t¸ch kªnh truy nhËp bus ®Þa chØ vµ bus d÷
liÖu
Bé nhí ch¬ng tr×nh – PROM (Programmable Read Only Memory)

Vïng ®Ó lu m· ch¬ng tr×nh. Cã ba lo¹i bé nhí PROM th«ng dông


®îc sö dông cho hÖ nhóng vµ sÏ ®îc giíi thiÖu lÇn lît sau ®©y.
 EPROM

Bao gåm mét m¶ng c¸c transistor kh¶ tr×nh. M· ch¬ng tr×nh sÏ ®îc ghi
trùc tiÕp vµ vi xö lý cã thÓ ®äc ra ®Ó thùc hiÖn. EPROM cã thÓ xo¸ ®îc b»ng
29

tia cùc tÝm vµ cã thÓ ®îc lËp tr×nh l¹i. CÊu tróc vËt lý cña EPROM ®îc m«
t¶ nh trong h×nh 1-15.

H×nh 1-15: Nguyªn lý cÊu t¹o vµ ho¹t ®éng xãa cña EPROM

 Bé nhí Flash

Còng gièng nh EPROM ®îc cÊu t¹o bëi mét m¶ng transistor kh¶ tr×nh
nhng cã thÓ xo¸ ®îc b»ng ®iÖn vµ chÝnh v× vËy cã thÓ n¹p l¹i ch¬ng tr×nh
mµ kh«ng cÇn t¸ch ra khái nÒn phÇn cøng VXL. ¦u ®iÓm cña bé nhí flash lµ
cã thÓ lËp tr×nh trùc tiÕp trªn m¹ch cøng mµ nã ®ang thùc thi trªn ®ã.

H×nh 1-16: S¬ ®å nguyªn lý ghÐp nèi EPROM víi VXL


30

 Bé nhí d÷ liÖu - RAM

Vïng ®Ó lu hoÆc trao ®æi d÷ liÖu trung gian trong qu¸ tr×nh thùc hiÖn
ch¬ng tr×nh.

H×nh 1-17: CÊu tróc nguyªn lý bé nhí RAM


Cã hai lo¹i SRAM vµ DRAM

H×nh 1-18: CÊu tróc mét phÇn tö nhí DRAM


31

H×nh 1-19: Nguyªn lý ghÐp nèi (më réng) RAM víi VXL
1.2.1.5. Ngo¹i vi.

Bé ®Þnh thêi gian/Bé ®Õm

HÇu hÕt c¸c chip vi ®iÒu khiÓn ngµy nay ®Òu cã Ýt nhÊt mét bé ®Þnh thêi
gian/bé ®Õm cã thÓ cÊu h×nh ho¹t ®éng linh ho¹t theo c¸c mode phôc vô nhiÒu
môc ®Ých trong c¸c øng dông xö lý, ®iÒu khiÓn. C¸c bé ®Þnh thêi gian cho
phÐp t¹o ra c¸c chuçi xung vµ ng¾t thêi gian hoÆc ®Õm theo c¸c kho¶ng thêi
gian cã thÓ lËp tr×nh. Chóng thêng ®îc øng dông phæ biÕn trong c¸c nhiÖm
vô ®Õm xung, ®o kho¶ng thêi gian c¸c sù kiÖn, hoÆc ®Þnh chu kú thêi gian
thùc thi c¸c t¸c vô. Mét trong nh÷ng øng dông quan träng cña bé ®Þnh thêi
gian lµ t¹o nhÞp tõ bé t¹o xung th¹ch anh cho bé truyÒn th«ng dÞ bé ®a n¨ng
ho¹t ®éng. Thùc chÊt ®ã lµ øng dông ®Ó thùc hiÖn phÐp chia tÇn sè. §Ó ®¹t
®îc ®é chÝnh x¸c, tÇn sè th¹ch anh thêng ®îc chän sao cho c¸c phÐp chia
sè nguyªn ®îc thùc hiÖn chÝnh x¸c ®¶m b¶o cho tèc ®é truyÒn th«ng d÷ liÖu
®îc t¹o ra chÝnh x¸c. ChÝnh v× vËy hä vi ®iÒu khiÓn 80C51 thêng hay sö
dông th¹ch anh cã tÇn sè dao ®éng lµ 11.059 thay v× 12MHz ®Ó t¹o ra nhÞp
ho¹t ®éng truyÒn th«ng tèc ®é chuÈn 9600.
32

H×nh 1-20: Bé ®×nh thêi/bé ®Õm 8 bit cña AVR


Bé ®iÒu khiÓn ng¾t

Ng¾t lµ mét sù kiÖn x¶y ra lµm dõng ho¹t ®éng ch¬ng tr×nh hiÖn t¹i ®Ó
phôc vô thùc thi mét t¸c vô hay mét ch¬ng tr×nh kh¸c. C¬ chÕ ng¾t gióp CPU
lµm t¨ng tèc ®é ®¸p øng phôc vô c¸c sù kiÖn trong ch¬ng tr×nh ho¹t ®éng cña
VXL/V§K. C¸c V§K kh¸c nhau sÏ ®Þnh nghÜa c¸c nguån t¹o ng¾t kh¸c nhau
nhng ®Òu cã chung mét c¬ chÕ ho¹t ®éng vÝ dô nh ng¾t truyÒn th«ng nèi
tiÕp, ng¾t bé ®Þnh thêi gian, ng¾t cøng, ng¾t ngoµi...Khi mét sù kiÖn yªu cÇu
ng¾t xuÊt hiÖn, nÕu ®îc chÊp nhËn CPU sÏ lu cÊt tr¹ng th¸i ho¹t ®éng cho
ch¬ng tr×nh hiÖn t¹i ®ang thùc hiÖn vÝ dô nh néi dung bé ®Õm ch¬ng tr×nh
(con trá lÖnh) c¸c néi dung thanh ghi lu d÷ liÖu ®iÒu khiÓn ch¬ng tr×nh nãi
chung ®Ó thùc thi ch¬ng tr×nh phôc vô t¸c vô cho sù kiÖn ng¾t. Thùc chÊt qu¸
tr×nh ng¾t lµ CPU nhËn d¹ng tÝn hiÖu ng¾t, nÕu chÊp nhËn sÏ ®a con trá lÖnh
ch¬ng tr×nh trá tíi vïng m· chøa ch¬ng tr×nh phôc vô t¸c vô ng¾t. V× vËy
mçi mét ng¾t ®Òu g¾n víi mét vector ng¾t nh mét con trá lu th«ng tin ®Þa
chØ cña vïng bé nhí chøa m· ch¬ng tr×nh phôc vô t¸c vô cña ng¾t. CPU sÏ
33

thùc hiÖn ch¬ng tr×nh phôc vô t¸c vô ng¾t ®Õn khi nµo gÆp lÖnh quay trë vÒ
ch¬ng tr×nh tríc thêi ®iÓm sù kiÖn ng¾t x¶y ra. Cã thÓ ph©n ra 2 lo¹i nguån
ng¾t: Ng¾t cøng vµ Ng¾t mÒm.
 Ng¾t mÒm

Ng¾t mÒm thùc chÊt thùc hiÖn mét lêi gäi hµm ®Æc biÖt mµ ®îc kÝch
ho¹t bëi c¸c nguån ng¾t lµ c¸c sù kiÖn xuÊt hiÖn tõ bªn trong ch¬ng tr×nh vµ
ngo¹i vi tÝch hîp trªn Chip vÝ dô nh ng¾t thêi gian, ng¾t chuyÓn ®æi A/D, …
C¬ chÕ ng¾t nµy cßn ®îc hiÓu lµ lo¹i thùc hiÖn ®ång bé víi ch¬ng tr×nh v×
nã ®îc kÝch ho¹t vµ thùc thi t¹i c¸c thêi ®iÓm x¸c ®Þnh trong ch¬ng tr×nh.
Hµm ®îc gäi sÏ thùc thi chøc n¨ng t¬ng øng víi yªu cÇu ng¾t. C¸c hµm ®ã
thêng ®îc trá bëi mét vector ng¾t mµ ®· ®îc ®Þnh nghÜa vµ g¸n cè ®Þnh bëi
nhµ s¶n xuÊt Chip. VÝ dô nh hÖ ®iÒu hµnh cña PC sö dông ng¾t sè 21hex ®Ó
g¸n cho ng¾t truy nhËp ®äc d÷ liÖu tõ ®Üa cøng vµ xuÊt d÷ liÖu ra m¸y in.
 Ng¾t cøng

Ng¾t cøng cã thÓ ®îc xem nh lµ mét lêi gäi hµm ®Æc biÖt trong ®ã
nguån kÝch ho¹t lµ mét sù kiÖn ®Õn tõ bªn ngoµi ch¬ng tr×nh th«ng qua mét
cÊu tróc phÇn cøng (thêng ®îc kÕt nèi víi thÕ giíi bªn ngoµi qua c¸c ch©n
ng¾t). Ng¾t cøng thêng ®îc hiÓu ho¹t ®éng theo c¬ chÕ dÞ bé v× c¸c sù kiÖn
ng¾t kÝch ho¹t tõ c¸c tÝn hiÖu ngo¹i vi bªn ngoµi vµ t¬ng ®èi ®éc lËp víi
CPU, thêng lµ kh«ng x¸c ®Þnh ®îc thêi ®iÓm kÝch ho¹t. Khi c¸c ng¾t cøng
®îc kÝch ho¹t CPU sÏ nhËn d¹ng vµ thùc hiÖn lêi gäi hµm thùc thi chøc n¨ng
phôc vô sù kiÖn ng¾t t¬ng øng.

Trong c¸c c¬ chÕ ng¾t kho¶ng thêi gian tõ khi xuÊt hiÖn sù kiÖn ng¾t (cã
yªu cÇu phôc vô ng¾t) tíi khi dÞch vô ng¾t ®îc thùc thi lµ x¸c ®Þnh vµ tuú
thuéc vµo c«ng nghÖ phÇn cøng xö lý cña Chip.
34

Bé ®Þnh thêi chã canh – Watchdog Timer

H×nh 1-21: S¬ ®å nguyªn lý ho¹t ®éng cña bé ®Þnh thêi chã canh
Th«ng thêng khi cã mét sù cè x¶y ra lµm hÖ thèng bÞ treo hoÆc ch¹y
quÈn, CPU sÏ kh«ng thÓ tiÕp tôc thùc hiÖn ®óng chøc n¨ng. §Æc biÖt khi hÖ
thèng ph¶i lµm viÖc ë chÕ ®é vËn hµnh tù ®éng vµ kh«ng cã sù can thiÖp trùc
tiÕp thêng xuyªn bëi ngêi vËn hµnh. §Ó thùc hiÖn c¬ chÕ tù gi¸m s¸t vµ ph¸t
hiÖn sù cè phÇn mÒm, mét sè VXL/V§K cã thªm mét bé ®Þnh thêi chã canh.
B¶n chÊt ®ã lµ mét bé ®Þnh thêi ®Æc biÖt ®Ó ®Þnh nghÜa mét khung thêi gian
ho¹t ®éng b×nh thêng cña hÖ thèng. NÕu cã sù cè phÇn mÒm x¶y ra sÏ lµm hÖ
thèng bÞ treo khi ®ã bé ®Þnh thêi chã canh sÏ ph¸t hiÖn vµ gióp hÖ thèng tho¸t
khái tr¹ng th¸i ®ã b»ng c¸ch thùc hiÖn khëi t¹o l¹i ch¬ng tr×nh. Ch¬ng tr×nh
ho¹t ®éng khi cã bé ®Þnh thêi ph¶i ®¶m b¶o reset nã tríc khi khung thêi gian
bÞ vi ph¹m. Khung thêi gian nµy ®îc ®Þnh nghÜa phô thuéc vµo sù ®¸nh gi¸
cña ngêi thùc hiÖn phÇn mÒm, thiÕt lËp kho¶ng thêi gian ®¶m b¶o ch¾c ch¾n
hÖ thèng thùc hiÖn b×nh thêng kh«ng cã sù cè phÇn mÒm.

Cã mét sè c¬ chÕ thùc hiÖn cµi ®Æt bé ®Þnh thêi chã canh ®Ó gi¸m s¸t
ho¹t ®éng cña hÖ thèng nh sau:
35

H×nh 1-22: Nguyªn lý ho¹t ®éng cña bé ®Þnh thêi chã canh
Bé ®iÒu khiÓn truy nhËp bé nhí trùc tiÕp – DMA

DMA (Direct Memory Access) lµ c¬ chÕ ho¹t ®éng cho phÐp hai hay
nhiÒu vi xö lý hoÆc ngo¹i vi chia sÎ bus chung. ThiÕt bÞ nµo ®ang cã quyÒn
®iÒu khiÓn bus sÏ cã thÓ toµn quyÒn truy nhËp vµ trao ®æi d÷ liÖu trùc tiÕp víi
c¸c bé nhí nh hÖ thèng cã mét vi xö lý. øng dông phæ biÕn nhÊt cña DMA lµ
chia sÎ bé nhí chung gi÷a hai bé vi xö lý hoÆc c¸c ngo¹i vi ®Ó truyÒn d÷ liÖu
trùc tiÕp gi÷a thiÕt bÞ ngo¹i vi vµo/ra vµ bé nhí d÷ liÖu cña VXL.

Truy nhËp bé nhí trùc tiÕp ®îc sö dông ®Ó ®¸p øng nhu cÇu trao ®æi d÷
liÖu vµo ra tèc ®é cao gi÷a ngo¹i vi víi bé nhí. Th«ng thêng c¸c ngo¹i vi kÕt
36

nèi víi hÖ thèng ph¶i chia sÎ bus d÷ liÖu vµ ®îc ®iÒu khiÓn bëi CPU trong
qu¸ tr×nh trao ®æi d÷ liÖu. §iÒu nµy lµm h¹n chÕ tèc ®é trao ®æi, ®Ó t¨ng cêng
tèc ®é vµ lo¹i bá sù can thiÖp cña CPU, ®Æc biÖt trong trêng hîp cÇn truyÒn
mét lîng d÷ liÖu lín. C¬ chÕ ho¹t ®éng DMA ®îc m« t¶ nh trong H×nh 1-
23. Thñ tôc ®îc b¾t ®Çu b»ng viÖc yªu cÇu thùc hiÖn DMA víi CPU. Sau khi
xö lý, nÕu ®îc chÊp nhËn CPU sÏ trao quyÒn ®iÒu khiÓn bus cho ngo¹i vi vµ
thùc hiÖn qu¸ tr×nh trao ®æi d÷ liÖu. Sau khi thùc hiÖn xong CPU sÏ nhËn ®îc
th«ng b¸o vµ nhËn l¹i quyÒn ®iÒu khiÓn bus. Trong c¬ chÕ DMA, cã hai c¸ch
®Ó truyÒn d÷ liÖu: kiÓu DMA chu kú ®¬n, vµ kiÓu DMA chu kú nhãm (burst).

H×nh 1-23: NhÞp ho¹t ®éng DMA


 DMA chu kú ®¬n vµ nhãm

Trong kiÓu ho¹t ®éng DMA chu kú nhãm, ngo¹i vi sÏ nhËn ®îc quyÒn
®iÒu khiÓn vµ truyÒn khèi d÷ liÖu råi tr¶ l¹i quyÒn ®iÒu khiÓn cho CPU. Trong
c¬ chÕ DMA chu kú ®¬n ngo¹i vi sau khi nhËn ®îc quyÒn ®iÒu khiÓn bus chØ
truyÒn mét tõ d÷ liÖu råi tr¶ l¹i ngay quyÒn kiÓm so¸t bé nhí vµ bus d÷ liÖu
37

cho CPU. Trong c¬ chÕ thùc hiÖn DMA cÇn cã mét bíc xö lý ®Ó quyÕt ®Þnh
xem thiÕt bÞ nµo sÏ ®îc nhËn quyÒn ®iÒu khiÓn trong trêng hîp cã nhiÒu
h¬n mét thiÕt bÞ cã nhu cÇu sö dông DMA. Th«ng thêng kiÓu DMA chu kú
nhãm cÇn Ýt d÷ liÖu th«ng tin ®iÒu khiÓn (overhead) nªn cã kh¶ n¨ng trao ®æi
víi tèc ®é cao nhng l¹i chiÕm nhiÒu thêi gian truy nhËp bus do truyÒn c¶
khèi d÷ liÖu lín. §iÒu nµy cã thÓ ¶nh hëng ®Õn ho¹t ®éng cña c¶ hÖ thèng do
trong suèt qu¸ tr×nh thùc hiÖn DMA nhãm, CPU sÏ bÞ kho¸ quyÒn truy nhËp
bé nhí vµ kh«ng thÓ xö lý c¸c nhiÖm vô kh¸c cña hÖ thèng mµ cã nhu cÇu bé
nhí, vÝ dô nh c¸c dÞch vô ng¾t, hoÆc c¸c t¸c vô thêi gian thùc...
 Chu kú rçi (Cycle Stealing)

Trong kiÓu nµy DMA sÏ ®îc thùc hiÖn trong nh÷ng thêi ®iÓm chu kú
bus mµ CPU kh«ng sö dông bus do ®ã kh«ng cÇn thùc hiÖn thñ tôc xö lý cÊp
ph¸t quyÒn truy nhËp vµ thùc hiÖn DMA.

HÇu hÕt c¸c vi xö lý hiÖn ®¹i ®Òu sö dông gÇn nh 100% dung lîng bé
nhí vµ b¨ng th«ng cña bus nªn sÏ kh«ng cã nhiÒu thêi gian dµnh cho DMA
thùc hiÖn. §Ó tiÕt kiÖm vµ tèi u tµi nguyªn th× cÇn cã mét träng tµi ph©n xö
vµ d÷ liÖu sÏ ®îc truyÒn ®i xÕp chång theo thêi gian. Nãi chung kiÓu DMA
d¹ng burst hiÖu qu¶ nhÊt khi kho¶ng thêi gian cÇn thùc hiÖn DMA t¬ng ®èi
nhá. Trong kho¶ng thêi gian thùc hiÖn DMA, toµn bé b¨ng th«ng cña bus sÏ
®îc sö dông tèi ®a vµ toµn bé khèi d÷ liÖu sÏ ®îc truyÒn ®i trong mét
kho¶ng thêi gian rÊt ng¾n. Nhng nhîc ®iÓm cña nã lµ nÕu d÷ liÖu cÇn truyÒn
lín vµ cÇn mét kho¶ng thêi gian dµi th× sÏ dÉn ®Õn viÖc block CPU vµ cã thÓ
bá qua viÖc xö lý c¸c sù kiÖn vµ t¸c vô kh¸c. §èi víi DMA chu kú ®¬n th× yªu
cÇu truy nhËp bé nhí, truyÒn mét tõ d÷ liÖu vµ gi¶i phãng bus. C¬ chÕ nµy cho
phÐp thùc hiÖn truyÒn interleave vµ ®îc biÕt tíi víi tªn gäi inteleaved DMA.
KiÓu truyÒn DMA chu kú ®¬n phï hîp ®Ó truyÒn d÷ liÖu trong mét kho¶ng
thêi gian dµi mµ cã ®ñ thêi gian ®Ó yªu cÇu truy nhËp vµ gi¶i phãng bus cho
mçi lÇn truyÒn mét tõ d÷ liÖu. ChÝnh v× vËy sÏ gi¶m b¨ng th«ng truy nhËp bus
38

do ph¶i mÊt nhiÒu thêi gian ®Ó yªu cÇu truy nhËp vµ gi¶i phãng bus. Trong
trêng hîp nµy CPU vµ c¸c thiÕt bÞ kh¸c vÉn cã thÓ chia sÎ vµ truyÒn d÷ liÖu
nhng trong mét d¶i b¨ng th«ng hÑp. Trong nhiÒu hÖ thèng bus thùc hiÖn c¬
chÕ xö lý vµ gi¶i quyÕt yªu cÇu truy nhËp (träng tµi) th«ng qua d÷ liÖu truyÒn
v× vËy còng kh«ng ¶nh hëng nhiÒu ®Õn tèc ®é truyÒn DMA.

DMA ®îc yªu cÇu khi kh¶ n¨ng ®iÒu khiÓn cña CPU ®Ó truyÒn d÷ liÖu
thùc hiÖn qu¸ chËm. DMA còng thùc sù cã ý nghÜa khi CPU ®ang ph¶i thùc
hiÖn c¸c t¸c vô kh¸c mµ kh«ng cÇn nhu cÇu truy nhËp bus.

IC chøc n¨ng chuyªn dông

DAC/ADC

H×nh 1-24: S¬ ®å nguyªn lý m¹ch chuyÓn ®æi DAC

H×nh 1-25: S¬ ®å nguyªn lý m¹ch chuyÓn ®æi ADC


39

VÝ dô ADC 754A

§Æc ®iÓm kü thuËt:


 ChÕ t¹o theo c«ng nghÖ CMOS.
 12-bit víi giao diÖn t¬ng thÝch víi c¸c lo¹i VXL/V§K 8,
12 vµ 16-bit. Cã thÓ lËp tr×nh ®Ó ho¹t ®éng chuyÓn ®æi 8 bit
hoÆc 12 bit.
 TÝn hiÖu d÷ liÖu ra t¬ng thÝch víi chuÈn TTL vµ ghÐp nèi
th«ng qua lo¹i cæng logic 3 tr¹ng th¸i.
 D¶i gi¸ trÞ ®iÖn ¸p ®Çu vµo cã thÓ lùa chän nhê cÊu h×nh gi¸
trÞ ®iÖn trë néi ®Çu vµo ®Ó nhËn c¸c d¶i tÝn hiÖu (0-10)V,
(0-20)V, (-5-+5)V, vµ (-10-+10)V.
 Cã thªm kh¶ n¨ng cung cÊp nguån tham chiÕu néi Vref =
+10V.
 Nguån cung cÊp cã thÓ lµ +5V, ± 12V, hoÆc ± 15V
 Thêi gian chuyÓn ®æi cùc ®¹i lµ 25 -s víi thêi gian truy
nhËp bus lµ 150ns.

H×nh 1-26: S¬ ®å nguyªn lý cÊu tróc ADC1754A


40

H×nh 1-27: S¬ ®å bè trÝ ch©n cña Chip ADC574A


Nguyªn lý ®iÒu khiÓn

ADC 574 ®îc ®iÒu khiÓn bëi c¸c ch©n tÝn hiÖu nh m« t¶ trong b¶ng
sau:

(1) ThiÕt lËp chÕ ®é ho¹t ®éng: Mode chuyÓn ®æi 8-bit hay 12-bit ®îc
thiÕt lËp bëi tÝn hiÖu A0. TÝn hiÖu nµy ph¶i ®îc chèt tríc khi nhËn ®îc tÝn
hiÖu lÖnh b¾t ®Çu thùc hiÖn chuyÓn ®æi.
41

(2) KÝch ho¹t qu¸ tr×nh chuyÓn ®æi: Bé chuyÓn ®æi thùc hiÖn chuyÓn ®æi
khi nhËn ®îc tÝn hiÖu mÖnh lÖnh tÝch cùc tõ ch©n tÝn hiÖu hoÆc CE/CS, hoÆc
R/C víi ®iÒu kiÖn c¸c tÝn hiÖu ®iÒu khiÓn kh¸c ®· ®îc x¸c lËp.

(3) Tr¹ng th¸i chuyÓn ®æi: TÝn hiÖu ®Çu ra STATUS b¸o tr¹ng th¸i
chuyÓn ®æi hiÖn hµnh cña ADC; thiÕt lËp ë møc cao nÕu ®ang thùc hiÖn
chuyÓn ®æi vµ ë møc thÊp nÕu ®· hoµn thµnh. Trong qu¸ tr×nh chuyÓn ®æi c¸c
tÝn hiÖu ®iÒu khiÓn bÞ kho¸ vµ d÷ liÖu kh«ng thÓ ®îc ®äc v× c¸c ®êng tÝn
hiÖu ra ®îc chuyÓn sang tr¹ng th¸i cao trë.

(4) §äc d÷ liÖu ra: Qu¸ tr×nh ®äc d÷ liÖu ra cã thÓ ®îc thùc thi nÕu c¸c
tÝn hiÖu ®iÒu khiÓn x¸c lËp ë tr¹ng th¸i cho phÐp ®äc vµ tÝn hiÖu STATUS ë
tr¹ng th¸i thÊp. Tuú thuéc vµo mode chuyÓn ®æi ®îc thiÕt lËp vµ ®Þnh d¹ng
d÷ liÖu ®äc ra bëi tæ hîp tr¹ng 12 / 8 vµ A0.

Cæng song song kh¶ tr×nh 82C55A

82C55A lµ mét giao diÖn ngo¹i vi cæng song song kh¶ tr×nh ®îc chÕ t¹o
theo c«ng nghÖ CMOS. Nã lµ mét thiÕt bÞ ngo¹i vi vµo ra kh¶ tr×nh ®a môc
®Ých vµ cã thÓ ®îc sö dông víi nhiÒu lo¹i VXL/V§K kh¸c nhau. 82C55A cã
24 ch©n vµo ra on Chip ®îc chia ra thµnh 2 nhãm, mçi nhãm 12 ch©n vµ cã
thÓ ®îc sö dông theo 3 chÕ ®é ho¹t ®éng kh¸c nhau. H×nh 1-28 m« t¶ gi¶n ®å
khèi chøc n¨ng cña chip 82C55A.
42

H×nh 1-28: Gi¶n ®å chøc n¨ng cña 82C55A


Chøc n¨ng vµ ý nghÜa cña c¸c ch©n on chip cña 82C55A ®îc m« t¶
trong B¶ng 2: Chøc n¨ng c¸c ch©n on chip cña 82C55A.
43

82C55A cung cÊp 3 chÕ ®é ho¹t ®éng chÝnh vµ cã thÓ lËp tr×nh ®Ó lùa
chän

• Mode 0: Ho¹t ®éng vµo ra c¬ b¶n

• Mode 1: Ho¹t ®éng vµo ra n¾m b¾t (strobed)

• Mode 2: Ho¹t ®éng Bus 2 chiÒu

ViÖc lùa chän chÕ ®é ho¹t ®éng ®îc thùc hiÖn th«ng qua thanh ghi tõ
®iÒu khiÓn vµ ®îc m« t¶ nh trong h×nh 1-29.

H×nh 1-29: Thanh ghi tõ ®iÒu khiÓn chän chÕ ®é ho¹t ®éng cho 82C55A
Khi ®Çu vµo RESET ®îc ®iÒu khiÓn ë møc cao th× tÊt c¶ c¸c cæng sÏ
®îc thiÕt lËp ho¹t ®éng ë chÕ ®é cæng vµo víi 24 ®êng tÝn hiÖu vµo duy tr× ë
møc logic 1. Sau khi tÝn hiÖu ®iÒu khiÓn RESET ë møc tÝch cùc bÞ lo¹i bá th×
82C55A cã thÓ duy tr× chÕ ®é ho¹t ®éng mµ kh«ng cÇn thªm bÊt kú viÖc khëi
t¹o nµo n÷a. §iÒu nµy sÏ gióp lo¹i bá ®îc c¸c ®iÖn trë treo cao hoÆc treo thÊp
trong c¸c thiÕt kÕ cho m¹ch CMOS. Khi kÝch ho¹t chÕ ®é thiÕt lËp th× thanh
ghi tõ ®iÒu khiÓn sÏ chøa gi¸ trÞ 9Bh. Trong qu¸ tr×nh thùc hiÖn ch¬ng tr×nh
vÉn cã thÓ thay ®æi lùa chän chÕ ®é ho¹t ®éng kh¸c nhau, ®iÒu nµy cho phÐp
82C55 ho¹t ®éng mét c¸ch ®a d¹ng ®¸p øng cho nhiÒu bµi to¸n øng dông kh¸c
44

nhau. Trong qu¸ tr×nh thanh ghi tõ ®iÒu khiÓn ®ang ®îc viÕt th× tÊt c¶ c¸c
cæng ®îc thiÕt lËp ho¹t ®éng ë chÕ ®é cæng ra sÏ ®îc khëi t¹o b»ng zero.

Mode 0 (Vµo ra c¬ b¶n): CÊu h×nh chÕ ®é ho¹t ®éng nµy cung cÊp c¸c
ho¹t ®éng vµo ra ®¬n gi¶n cho c¶ 3 cæng A, B vµ C. D÷ liÖu ®îc trao ®æi trùc
tiÕp vµ kh«ng cÇn ph¶i cã c¬ chÕ b¾t tay. ChÕ ®é ho¹t ®éng nµy hç trî c¸c
chøc n¨ng cô thÓ nh sau:
 Hai cæng 8-bit vµ 2 cæng 4-bit
 BÊt kú cæng nµo còng cã thÓ lµ cæng vµo hoÆc cæng ra
 C¸c ®êng d÷ liÖu tÝn hiÖu ra ®îc chèt
 C¸c ®êng tÝn hiÖu vµo kh«ng ®îc chèt
 Cã thÓ cÊu h×nh 16 kiÓu ho¹t ®éng vµo ra kh¸c nhau

Mode 1 (Vµo ra cã b¾t tay): ChÕ ®é ho¹t ®éng nµy cung cÊp kh¶ n¨ng
truyÒn d÷ liÖu tíi hoÆc ®i tõ mét cæng cô thÓ cïng víi c¸c tÝn hiÖu b¾t tay.
Trong chÕ ®é nµy cæng A, B ®îc sö dông ®Ó truyÒn d÷ liÖu vµ cæng C ho¹t
®éng nh cæng ®iÒu khiÓn c¬ chÕ ®ång bé b¾t tay. ChÕ ®é ho¹t ®éng nµy cung
cÊp c¸c chøc n¨ng chÝnh sau:
 Hai nhãm cæng (Nhãm A vµ Nhãm B). Mçi nhãm bao gåm
1 cæng 8-bit vµ mét cæng d÷ liÖu ®iÒu khiÓn 4-bit.
 Cæng d÷ liÖu 8-bit cã thÓ ho¹t ®éng nh hoÆc lµ cæng vµo
hoÆc lµ cæng ra vµ c¶ hai chiÒu d÷ liÖu ®Òu ®îc chèt.
 The 4-bit port is used for control and status of the 8-bit
port.

Mode 2 (Bus vµo ra hai chiÒu cã b¾t tay): ChÕ ®é ho¹t ®éng nµy cung
cÊp kh¶ n¨ng truyÒn th«ng víi c¸c ngo¹i vi hoÆc c¸c bus d÷ liÖu 8-bit cho viÖc
truyÒn nhËn d÷ liÖu. C¸c tÝn hiÖu b¾t tay ®îc cung cÊp ®Ó duy tr× dßng tÝn
hiÖu bus t¬ng tù nh chÕ ®é 1. C¸c c¬ chÕ t¹o ng¾t còng cã thÓ ®îc thùc
45

hiÖn ë chÕ ®é nµy. Mét sè c¸c chøc n¨ng chÝnh hç trî trong chÕ ®é nµy bao
gåm:
 ChØ sö dông nhãm A
 Mét cæng bus 2 chiÒu 8-bit (cæng A) vµ mét cæng ®iÒu
khiÓn 5-bit (Cæng C)
 C¶ hai chiÒu d÷ liÖu vµo vµ ra ®Òu ®¬c chèt.
 Cæng ®iÒu khiÓn 5-bit (Cæng C) ®îc sö dông cho môc
®Ých ®iÒu khiÓn vµ tr¹ng th¸i cho cæng A ®Ó trao ®æi d÷ liÖu
2 chiÒu 8 bit.

Bé ®Þnh thêi/Bé ®Õm C8254

§©y lµ bé ®Õm tèc ®é cao cung cÊp 3 bé ®Þnh thêi 16-bit ®éc lËp vµ cã
thÓ ®îc cÊu h×nh ®Ó ho¹t ®éng ë nhiÒu chÕ ®é ho¹t ®éng. Mçi bé ®Õm cã c¸c
kªnh d÷ liÖu vµ ®iÒu khiÓn riªng biÖt. Hç trî 2 kiÓu m· ho¸ ®Õm nhÞ ph©n (0-
65535) hoÆc BCD (binary coded decimal) (0-9999). Cã 4 thanh ghi tÝch hîp
On-chip ®Ó lu gi¸ trÞ ®Õm vµ cÊu h×nh ho¹t ®éng (tõ ®iÒu khiÓn).

TÇn sè ho¹t ®éng cña bé ®Õm cã thÓ lµm viÖc víi xung nhÞp tÇn sè 10
MHz vµ hç trî 6 chÕ ®é ho¹t ®éng vµ cã thÓ cÊu h×nh riªng lÎ.

H×nh 1-30: S¬ ®å cÊu tróc chøc n¨ng 8354


46

1.2.1.6. Giao diÖn.


Giao diÖn song song 8bit/16bit
C¸c cæng song song lµ mét d¹ng giao diÖn vµo ra ®¬n gi¶n vµ phæ biÕn
nhÊt ®Ó kÕt nèi th«ng tin víi ngo¹i vi. Cã nhiÒu lo¹i cÊu tróc giao diÖn vËt lý
®iÖn tö tõ d¹ng cæng vµo ra ®¬n gi¶n cùc Collector TTL hë trong c¸c øng dông
cæng m¸y in ®Õn c¸c lo¹i cÊu tróc giao diÖn cæng tèc ®é cao nh c¸c chuÈn
bus IEEE-488 hay SCSI. HÇu hÕt c¸c chip ®iÒu khiÓn nhóng cã mét vµi cæng
vµo ra song song kh¶ tr×nh (cã thÓ cÊu h×nh). C¸c giao diÖn ®ã phï hîp víi c¸c
cæng vµo ra ®¬n gi¶n nh c¸c kho¸ chuyÓn. Chóng còng phï hîp trong c¸c bµi
to¸n phôc vô giao diÖn kÕt nèi ®iÒu khiÓn vµ gi¸m s¸t theo c¸c giao diÖn nh
kiÓu r¬le b¸n dÉn.

H×nh 1-31: CÊu tróc nguyªn lý ®iÓn h×nh cña mét cæng vµo/ra logic giao diÖn
nèi tiÕp
USART

H×nh 1-32: CÊu tróc ®¬n gi¶n hãa cña USART


47

H×nh 1-33: Mode ho¹t ®éng truyÒn th«ng ®ång bé

H×nh 1-34: Mode ho¹t ®éng truyÒn th«ng dÞ bé


I 2C (Inter-IC)
P P

Giao thøc u tiªn truyÒn th«ng nèi tiÕp ®îc ph¸t triÓn bëi Philips
Semiconductor vµ ®îc gäi lµ bus I2C. V× nguån gèc nã ®îc thiÕt kÕ lµ ®Ó
®iÒu khiÓn liªn th«ng2IC (Inter IC) nªn nã ®îc ®Æt tªn lµ2C.
P P PI TÊt c¶ c¸c chÝp
P

cã tÝch hîp vµ t¬ng thÝch víi2CI ®Òu cã thªm mét giao diÖn tÝch hîp trªn
P P

Chip ®Ó truyÒn th«ng trùc tiÕp víi c¸c thiÕt bÞ t¬ng thÝch
2
I
C kh¸c. ViÖc
P P

truyÒn d÷ liÖu nèi tiÕp theo hai híng 8 bit ®îc thùc thi theo 3 chÕ ®é sau:
 ChuÈn (Standard)—100 Kbits/sec
 Nhanh (Fast)—400 Kbits/sec
 Tèc ®é cao (High-Speed)—3.4 Mbits/sec

§êng bus thùc hiÖn truyÒn th«ng nèi tiÕp2C


I gåm hai ®êng lµ ®êng
P P

truyÒn d÷ liÖu nèi tiÕp SDA vµ ®êng truyÒn nhÞp xung ®ång hå nèi tiÕp SCL.
V× c¬ chÕ ho¹t ®éng lµ ®ång bé nªn nã cÇn cã mét nhÞp xung tÝn hiÖu ®ång
48

bé. C¸c thiÕt bÞ hç trî I2C ®Òu cã mét ®Þa chØ ®Þnh nghÜa tríc, trong ®ã mét
P P

sè bit ®Þa chØ lµ thÊp cã thÓ cÊu h×nh. §¬n vÞ hoÆc thiÕt bÞ khëi t¹o qu¸ tr×nh
truyÒn th«ng lµ ®¬n vÞ Chñ vµ còng lµ ®¬n vÞ t¹o xung nhÞp ®ång bé, ®iÒu
khiÓn cho phÐp kÕt thóc qu¸ tr×nh truyÒn. NÕu ®¬n vÞ Chñ muèn truyÒn th«ng
víi ®¬n vÞ kh¸c nã sÏ göi kÌm th«ng tin ®Þa chØ cña ®¬n vÞ mµ nã muèn truyÒn
trong d÷ liÖu truyÒn. §¬n vÞ Tí ®Òu ®îc g¸n vµ ®¸nh ®Þa chØ th«ng qua ®ã
®¬n vÞ Chñ cã thÓ thiÕt lËp truyÒn th«ng vµ trao ®æi d÷ liÖu. Bus d÷ liÖu ®îc
thiÕt kÕ ®Ó cho phÐp thùc hiÖn nhiÒu ®¬n vÞ Chñ vµ Tí ë trªn cïng Bus.

Qu¸ tr×nh truyÒn th«ng 2IC ®îc b¾t ®Çu b»ng tÝn hiÖu start t¹o ra bëi ®¬n
P P

vÞ Chñ. Sau ®ã ®¬n vÞ Chñ sÏ truyÒn ®i d÷ liÖu 7 bit chøa ®Þa chØ cña ®¬n vÞ Tí
mµ nã muèn truyÒn th«ng, theo thø tù lµ c¸c bit cã träng sè lín nhÊt MSB sÏ
®îc truyÒn tríc. Bit thø t¸m tiÕp theo sÏ chøa th«ng tin ®Ó x¸c ®Þnh ®¬n vÞ
Tí sÏ thùc hiÖn vai trß nhËn (0) hay göi (1) d÷ liÖu. TiÕp theo sÏ lµ mét bit
ACK x¸c nhËn bëi ®¬n vÞ nhËn ®· nhËn ®îc 1 byte tríc ®ã hay kh«ng. §¬n
vÞ truyÒn (göi) sÏ truyÒn ®i 1 byte d÷ liÖu b¾t ®Çu bëi MSB. T¹i ®iÓm cuèi cña
byte truyÒn, ®¬n vÞ nhËn sÏ t¹o ra mét bit x¸c nhËn ACK míi. Khu«n mÉu 9
bit nµy (gåm 8 bit d÷ liÖu vµ 1 bit x¸c nhËn) sÏ ®îc lÆp l¹i nÕu cÇn truyÒn
tiÕp byte n÷a. Khi ®¬n vÞ Chñ ®· trao ®æi xong d÷ liÖu cÇn nã sÏ quan s¸t bit
x¸c nhËn ACK cuèi cïng råi sau ®ã sÏ t¹o ra mét tÝn hiÖu dõng STOP ®Ó kÕt
thóc qu¸ tr×nh truyÒn th«ng.

I 2C lµ mét giao diÖn truyÒn th«ng ®Æc biÖt thÝch hîp cho c¸c øng dông
P P

truyÒn th«ng gi÷a c¸c ®¬n vÞ trªn cïng mét bo m¹ch víi kho¶ng c¸ch ng¾n vµ
tèc ®é thÊp. VÝ dô nh truyÒn th«ng gi÷a CPU víi c¸c khèi chøc n¨ng trªn
cïng mét bo m¹ch nh EEPROM, c¶m biÕn, ®ång hå t¹o thêi gian thùc... HÇu
hÕt c¸c thiÕt bÞ hç trî 2IC ho¹t ®éng ë tèc ®é 400Kbps, mét sè cho phÐp ho¹t
P P

®éng ë tèc ®é cao vµi Mbps. 2IC kh¸ ®¬n gi¶n ®Ó thùc thi kÕt nèi nhiÒu ®¬n vÞ
P P

v× nã hç trî c¬ chÕ x¸c ®Þnh ®Þa chØ.


49

SPI

SPI lµ mét giao diÖn cæng nèi tiÕp ®ång bé ba d©y cho phÐp kÕt nèi
truyÒn th«ng nhiÒu V§K ®îc ph¸t triÓn bëi Motorola. Trong cÊu h×nh m¹ng
kÕt nèi truyÒn thèng nµy ph¶i cã mét V§K gi÷ vai trß lµ Chñ (Master) vµ c¸c
V§K cßn l¹i cã thÓ hoÆc lµ Chñ hoÆc lµ Tí. SPI cã 4 tèc ®é cã thÓ lËp tr×nh,
cùc vµ pha nhÞp ®ång hå kh¶ tr×nh vµ kÕt thóc ng¾t truyÒn th«ng. NhÞp ®ång
hå kh«ng n»m trong dßng d÷ liÖu vµ ph¶i ®îc cung cÊp nh mét tÝn hiÖu t¸ch
®éc lËp. Cã ba thanh ghi SPSR, SPCR vµ SPDR cho phÐp thùc hiÖn c¸c chøc
n¨ng ®iÒu khiÓn, tr¹ng th¸i vµ l÷u tr÷. Cã bèn ch©n c¬ b¶n cÇn thiÕt ®Ó thùc thi
chuÈn giao diÖn truyÒn th«ng nµy.
• D÷ liÖu ra MOSI (Master Output – Slave Input)
• D÷ liÖu vµo MISO (Master Input – Slave Output)
• NhÞp xung chuÈn SCLK (Serial Clock)
• Lùa chän thµnh phÇn tí SS (Slave Select)

H×nh 1-35: KÕt nèi nguyªn lý truyÒn th«ng SPI gi÷a mét Master vµ mét Slave
H×nh 1-35 chØ ra nguyªn lý kÕt nèi gi÷a mét ®¬n vÞ Chñ vµ mét ®¬n vÞ Tí
trong truyÒn th«ng SPI. Trong ®ã tÝn hiÖu SCLK sÏ ®îc t¹o ra bëi ®¬n vÞ Chñ
vµ lµ tÝn hiÖu vµo cña ®¬n vÞ Tí. MOSI lµ ®êng truyÒn d÷ liÖu ra tõ ®¬n vÞ
Chñ tíi ®¬n vÞ Tí vµ MISO lµ ®êng truyÒn d÷ liÖu vµo ®¬n vÞ Chñ ®Õn tõ ®¬n
vÞ Tí. §¬n vÞ Tí ®îc lùa chän khi ®¬n vÞ Chñ kÝch ho¹t tÝn hiÖu SS.
50

H×nh 1-36: S¬ ®å kÕt nèi truyÒn thèng SPI cña mét ®¬n vÞ Master vµ nhiÒu
®¬n vÞ Slave
NÕu hÖ thèng cã nhiÒu ®¬n vÞ tí ®¬n vÞ Chñ sÏ t¹o ph¶i ra c¸c tÝn hiÖu
t¸ch biÖt ®Ó chän ®¬n vÞ Tí. C¬ chÕ ®ã ®îc thùc hiÖn nhê s¬ ®å kÕt nèi
nguyªn lý m« t¶ nh trong H×nh 1-36. §¬n vÞ Chñ sÏ t¹o ra tÝn hiÖu chän ®¬n
vÞ Tí nhê c¸c ch©n tÝn hiÖu logic ®a chøc n¨ng. C¸c tÝn hiÖu nµy ph¶i ®îc
®iÒu khiÓn vµ ®¶m b¶o æn ®Þnh vÒ thêi gian ®Ó tr¸nh trêng hîp tÝn hiÖu bÞ
thay ®æi trong qu¸ tr×nh ®ang truyÒn d÷ liÖu. Mét ®iÒu dÔ nhËn ra r»ng SPI
kh«ng hç trî c¬ chÕ x¸c nhËn trong qu¸ tr×nh thùc hiÖn truyÒn th«ng. §iÒu
nµy phô thuéc vµo giao thøc ®Þnh nghÜa hoÆc ph¶i thùc hiÖn bæ sung thªm mét
sè c¸c më réng phô bªn ngoµi.

Kh¶ n¨ng truyÒn th«ng ®ång thêi hai chiÒu víi tèc ®é lªn ®Õn kho¶ng vµi
Mbit/s vµ nguyªn lý kh¸ ®¬n gi¶n nªn SPI hoµn toµn phï hîp ®Ó thùc hiÖn
truyÒn th«ng gi÷a c¸c thiÕt bÞ yªu cÇu truyÒn th«ng tèc ®é chËm, ®Æc biÖt hiÖu
qu¶ trong c¸c øng dông mét ®¬n vÞ Chñ vµ mét ®¬n vÞ Tí. Tuy nhiªn trong c¸c
øng dông víi nhiÒu ®¬n vÞ Tí viÖc thùc thi l¹i kh¸ phøc t¹p v× thiÕu c¬ chÕ x¸c
®Þnh ®Þa chØ, vµ sù phøc t¹p sÏ t¨ng lªn khi sè ®¬n vÞ Tí t¨ng.
51

1.2.2. Mét sè nÒn phÇn cøng nhóng th«ng dông.

Trong phÇn nµy giíi thiÖu ng¾n gän cÊu tróc nguyªn lý cña c¸c chip xö
lý nhóng øng dông trong c¸c nÒn phÇn cøng nhóng hiÖn nay.

Sù ph¸t triÓn nhanh chãng c¸c chñng lo¹i Chip kh¶ tr×nh víi mËt ®é tÝch
hîp cao ®· vµ ®ang cã mét t¸c ®éng ®¸ng kÓ ®Õn sù thay ®æi trong viÖc thiÕt
kÕ c¸c nÒn phÇn cøng thiÕt bÞ xö lý vµ ®iÒu khiÓn sè trong thËp kû gÇn ®©y.
Mçi chñng lo¹i ®Òu cã nh÷ng ®Æc ®iÓm vµ ph¹m vi ®èi tîng øng dông vµ
lu«n kh«ng ngõng ph¸t triÓn ®Ó ®¸p øng mét c¸ch tèt nhÊt cho c¸c yªu cÇu
c«ng nghÖ. Chóng ®ang híng tíi tËp trung cho mét thÞ trêng c«ng nghÖ
tiÒm n¨ng réng lín ®ã lµ c¸c thiÕt bÞ xö lý vµ ®iÒu khiÓn nhóng. Trong bµi viÕt
nµy t¸c gi¶ giíi thiÖu ng¾n gän vÒ c¸c chñng lo¹i chip xö lý, ®iÒu khiÓn nhóng
®iÓn h×nh ®ang tån t¹i vµ ph¸t triÓn vÒ mét sè ®Æc ®iÓm vµ híng ph¹m vi øng
dông cña chóng.

Cã thÓ kÓ ra hµng lo¹t c¸c ChÝp kh¶ tr×nh cã thÓ sö dông cho c¸c bµi to¸n
thiÕt kÕ hÖ nhóng nh c¸c hä vi xö lý/vi ®iÒu khiÓn nhóng (Microprocessor/
Microcontroller), Chip DSP (Digital Signal Processing), c¸c Chip kh¶ tr×nh
trêng (FPD – Field Programmable Device). Chóng ta dÔ bÞ cho¸ng ngîp
nÕu b¾t ®Çu c«ng viÖc thiÕt kÕ b»ng viÖc t×m kiÕm mét Chip xö lý ®iÒu khiÓn
phï hîp cho øng dông. V× vËy cÇn ph¶i cã mét hiÓu biÕt vµ sù ph©n biÖt vÒ
®Æc ®iÓm vµ øng dông cña chóng khi lùa chän vµ thiÕt kÕ. C¸c th«ng tin liªn
quan nh nhµ s¶n xuÊt cung cÊp Chip, c¸c kiÕn thøc vµ c«ng cô ph¸t triÓn kÌm
theo… Mét sè chñng lo¹i Chip ®iÓn h×nh sÏ ®îc giíi thiÖu.
1.2.2.1. ChÝp vi xö lý, vi ®iÒu khiÓn nhóng.

§©y lµ mét chñng lo¹i rÊt ®iÓn h×nh vµ ®ang ®îc sö dông rÊt phæ biÕn
hiÖn nay. Chóng ®îc ra ®êi vµ sö dông theo sù ph¸t triÓn cña c¸c Chip xö lý
øng dông cho m¸y tÝnh. V× ®èi tîng øng dông lµ c¸c thiÕt bÞ nhóng nªn cÊu
tróc còng ®îc thay ®æi theo ®Ó ®¸p øng c¸c øng dông. HiÖn nay chóng ta cã
52

thÓ thÊy c¸c hä vi xö lý ®iÒu khiÓn cña rÊt nhiÒu c¸c nhµ chÕ t¹o cung cÊp nh,
Intel, Atmel, Motorola, Infineon. VÒ cÊu tróc, chóng còng t¬ng tù nh c¸c
ChÝp xö lý ph¸t triÓn cho PC nhng ë møc ®é ®¬n gi¶n h¬n nhiÒu vÒ c«ng
n¨ng vµ tµi nguyªn. Phæ biÕn vÉn lµ c¸c Chip cã ®é réng bus d÷ liÖu lµ 8-bit,
16-bit, 32-bit. VÒ b¶n chÊt cÊu tróc, Chip vi ®iÒu khiÓn lµ chip vi xö lý ®îc
tÝch hîp thªm c¸c ngo¹i vi. C¸c ngo¹i vi thêng lµ c¸c khèi chøc n¨ng ngo¹i
vi th«ng dông nh bé ®Þnh thêi gian, bé ®Õm, bé chuyÓn ®æi A/D, giao diÖn
song song, nèi tiÕp…Møc ®é tÝch hîp ngo¹i vi còng kh¸c nhau tuú thuéc vµo
môc ®Ých øng dông sÏ cã thÓ t×m ®îc Chip phï hîp. Thùc tÕ víi c¸c øng
dông yªu cÇu ®é tÝch hîp cao th× sÏ sö dông gi¶i ph¸p tÝch hîp trªn chip, nÕu
kh«ng th× hÇu hÕt c¸c Chip ®Òu cung cÊp gi¶i ph¸p ®Ó më réng ngo¹i vi ®¸p
øng cho mét sè lîng øng dông réng vµ mÒm dÎo.

H×nh 1-37: CÊu tróc nguyªn lý cña V§K víi cÊu tróc Havard
VÝ dô vÒ kiÕn tróc cña hä V§K AVR
53

H×nh 1-38: KiÕn tróc cña hä V§K AVR

H×nh 1-39: S¬ ®å khèi chøc n¨ng kiÕn tróc PIC 16F873A


54

1.2.2.2. ChÝp DSP.

DSP vÉn ®îc biÕt tíi nh mét lo¹i vi ®iÒu khiÓn ®Æc biÖt víi kh¶ n¨ng
xö lý nhanh ®Ó phôc vô c¸c bµi to¸n yªu cÇu khèi lîng vµ tèc ®é xö lý tÝnh
to¸n lín. Víi u ®iÓm næi bËt vÒ ®é réng b¨ng th«ng cña bus vµ thanh ghi tÝch
luü, cho phÐp ALU xö lý song song víi tèc ®é ®äc vµ xö lý lÖnh nhanh h¬n
c¸c lo¹i vi ®iÒu khiÓn th«ng thêng. Chip DSP cho phÐp thùc hiÖn nhiÒu lÖnh
trong mét nhÞp nhê vµo kiÕn tróc bé nhí Havard.

Th«ng thêng khi ph¶i sö dông DSP tøc lµ ®Ó ®¸p øng c¸c bµi to¸n tÝnh
to¸n lín vµ tèc ®é cao v× vËy ®Þnh d¹ng biÓu diÔn to¸n häc sÏ lµ mét yÕu tè
quan träng ®Ó ph©n lo¹i vµ ®îc quan t©m. HiÖn nay chñ yÕu chóng vÉn ®îc
ph©n lo¹i theo hai kiÓu lµ dÊu ph¶y ®éng vµ dÊu ph¶y tÜnh. §©y còng chÝnh lµ
mét yÕu tè quan träng ph¶i quan t©m ®èi víi ngêi thiÕt kÕ ®Ó lùa chän ®îc
mét DSP phï hîp víi øng dông cña m×nh. C¸c lo¹i DSP dÊu ph¶y tÜnh thêng
lµ lo¹i 16-bit hoÆc 24-bit cßn c¸c lo¹i dÊu ph¶y tÜnh thêng lµ 32-bit. Mét vÝ
dô ®iÓn h×nh vÒ mét DSP 16-bit dÊu ph¶y tÜnh lµ TMS320C55x, lu c¸c sè
nguyªn 16-bit hoÆc c¸c sè thùc trong mét miÒn gi¸ trÞ cè ®Þnh. Tuy nhiªn c¸c
gi¸ trÞ vµ hÖ sè trung gian cã thÓ ®îc lu tr÷ víi ®é chÝnh x¸c lµ 32-bit trong
thanh ghi tÝch lòy 40-bit nh»m gi¶m thiÓu lçi tÝnh to¸n do phÐp lµm trßn trong
qu¸ trÝnh tÝnh to¸n. Th«ng thêng c¸c lo¹i DSP dÊu ph¶y tÜnh cã gi¸ thµnh rÎ
h¬n c¸c lo¹i DSP dÊu ph¶y ®éng v× yªu cÇu sè lîng ch©n On-chip Ýt h¬n vµ
cÇn sö dông lîng silicon Ýt h¬n.

¦u ®iÓm næi bËt cña c¸c DSP dÊu ph¶y ®éng lµ cã thÓ xö lý vµ biÓu diÔn
sè trong d¶i ph¹m vi gi¸ trÞ réng vµ ®éng. Do ®ã vÊn ®Ò vÒ chuyÓn ®æi vµ h¹n
chÕ vÒ ph¹m vi biÓu diÔn sè kh«ng ph¶i quan t©m nh ®èi víi lo¹i DSP dÊu
ph¶y tÜnh. Mét lo¹i DSP 32-bit dÊu ph¶y tÜnh ®iÓn h×nh lµ TMS320C67x cã
thÓ xö lý vµ biÓu diÔn sè gåm 24-bit mantissa vµ 8-bit exponent. PhÇn
mantissa biÓu diÔn phÇn sè lÎ trong ph¹m vi -1.0 – +1.0 vµ phÇn exponent
55

biÓu diÔn vÞ trÝ cña dÊu ph¶y nhÞ ph©n vµ cã thÓ dÞch chuyÓn sang tr¸i hoÆc
ph¶i tuú theo gi¸ trÞ sè mµ nã biÓu diÔn. §iÒu nµy tr¸i ngîc víi c¸c thiÕt kÕ
trªn nÒn DSP dÊu ph¶y tÜnh, ngêi ph¸t triÓn ch¬ng tr×nh ph¶i tù qui íc, tÝnh
to¸n vµ ph©n chia Ên ®Þnh thang biÓu diÔn sè vµ ph¶i lu«n lu t©m tíi kh¶ n¨ng
trµn sè cã thÓ x¶y ra trong qu¸ tr×nh xö lý tÝnh to¸n. ChÝnh ®iÒu nµy ®· g©y ra
khã kh¨n kh«ng nhá ®èi víi ngêi lËp tr×nh. Nãi chung ph¸t triÓn ch¬ng
tr×nh cho DSP dÊu ph¶y ®éng thêng ®¬n gi¶n h¬n nhng gi¸ thµnh l¹i cao
h¬n nhiÒu vµ n¨ng lîng tiªu thô th«ng thêng còng lín h¬n.

H×nh 1-40: Gi¶n ®å khèi chøc n¨ng cña DSP TMS320C28xx


VÝ dô ®é chÝnh x¸c cña DSP dÊu ph¶y ®éng 32 bit lµ 2-23 víi 24 bit biÓu
diÔn phÇn mantissa. Vïng ®éng lµ 1.18 -10-38 - x - 3.4 - 1038.
56

Nh÷ng nhµ thiÕt kÕ hÖ thèng ph¶i quyÕt ®Þnh vïng vµ ®é chÝnh x¸c cÇn
thiÕt cho c¸c øng dông. C¸c vi xö lý dÊu ph¶y ®éng thêng ®îc sö dông cho
c¸c øng dông yªu cÇu vÒ ®é chÝnh x¸c cao vµ d¶i biÓu diÔn sè lín phï hîp víi
hÖ thèng cã cÊu tróc bé nhí lín. H¬n n÷a c¸c DSP dÊu ph¶y ®éng cho phÐp
ph¸t triÓn phÇn mÒm hiÖu qu¶ vµ ®¬n gi¶n h¬n b»ng c¸c tr×nh biªn dÞch ng«n
ng÷ bËc cao nh C do ®ã cã thÓ gi¶m ®îc gi¸ thµnh vµ thêi gian ph¸t triÓn.
Tuy nhiªn gi¸ thµnh l¹i cao nªn c¸c DSP dÊu ph¶y ®éng phï hîp víi c¸c øng
dông kh¸ ®Æc biÖt vµ thêng lµ víi sè lîng Ýt.
1.2.2.3. PAL.

Ngµy nay khi nãi ®Õn c¸c chñng lo¹i Chip kh¶ tr×nh m¶ng ta thêng biÕt
tíi mét sè tªn gäi nh PAL, CPLD, FPGA…Mét chót lîc sö vÒ sù ra ®êi vµ
ph¸t triÓn sau ®©y sÏ gióp chóng ta h×nh dung ®îc ®Æc ®iÓm vµ nguån gèc ra
®êi cña chóng.

H×nh 1-41: CÊu tróc PROM vµ PLA

LÞch sö ph¸t triÓn cña c¸c chñng lo¹i Chip kh¶ tr×nh m¶ng PLA
(Programmable Logic Array) ®îc b¾t nguån tõ nguyªn lý bé nhí ch¬ng
tr×nh PROM (Programmable Read-Only Memory). Trong ®ã c¸c ®Çu vµo ®Þa
chØ ®ãng vai trß nh c¸c ®êng vµo cña m¹ch logic vµ c¸c ®êng d÷ liÖu ra
®ãng vai trß nh c¸c ®êng ra cña m¹ch logic. V× PROM kh«ng thùc sù phï
57

hîp cho môc ®Ých thiÕt kÕ c¸c m¹ch logic nªn PLA ®· ra ®êi vµo ®Çu thËp kû
70. Nã rÊt phï hîp ®Ó thùc hiÖn m¹ch logic cã d¹ng tæng c¸c tÝch (v× cÊu
thµnh bëi c¸c phÇn tö logic AND vµ OR). Nhng nhîc ®iÓm lµ chi phÝ s¶n
xuÊt cao vµ tèc ®é ho¹t ®éng thÊp. §Ó kh¾c phôc nhîc ®iÓm nµy PAL
(Programmable Array Logic) ®· ®îc ph¸t triÓn. Nã ®îc cÊu thµnh tõ c¸c
phÇn tö AND kh¶ tr×nh vµ phÇn tö OR g¸n cè ®Þnh vµ cã chøa c¶ phÇn tö flip-
flop ë ®Çu ra nªn cã kh¶ n¨ng thùc thi c¸c m¹ch logic tuÇn tù. H×nh 1-42 m«
t¶ cÊu tróc chung cña PAL.

H×nh 1-42: CÊu tróc chung cña PAL

Tõ khi ®îc ra ®êi vµ ph¸t triÓn PAL trë thµnh c¬ së cho sù ra ®êi cña
hµng lo¹t c¸c chñng lo¹i Chip kh¶ tr×nh m¶ng víi cÊu tróc phøc t¹p h¬n nh
SPLD (Simple Program-mable Logic Device), CPLD (Com-plex
Programmable Logic Device), vµ sau nµy lµ FPGA (Field Pro-grammable
Gate Array). SPLD còng lµ tªn gäi cho nhãm c¸c chñng lo¹i Chip kiÓu t¬ng
tù nh PAL, PLA. VÒ mÆt cÊu tróc th× SPLD cho phÐp tÝch hîp logic víi mËt
®é cao h¬n so víi PAL th«ng thêng, nhng kÝch thíc cña nã sÏ t¨ng lªn rÊt
nhanh nÕu tiÕp tóc më réng vµ t¨ng mËt ®é tÝch hîp sè ®Çu vµo. §Ó ®¸p øng
nhu cÇu më réng mËt ®é tÝch hîp CPLD ®· ®îc ph¸t triÓn. Nã lµ sù tÝch hîp
cña nhiÒu khèi SPLD vµ cung cÊp thªm kh¶ n¨ng kÕt nèi kh¶ tr×nh gi÷a c¸c
khèi SPLD ®¬n lÎ víi nhau. Víi nguyªn lý cÊu tróc nµy CPLD cã kh¶ n¨ng
tÝch hîp víi mËt ®é cao t¬ng ®¬ng víi 50 khèi SPLD th«ng thêng.
58

NÕu chØ dõng ®Õn ®©y chóng ta cã thÓ thÊy mét ®Æc ®iÓm chung cña c¸c
chñng lo¹i chip kiÓu PLA hay CPLD ®Òu cho phÐp thùc hiÖn c¸c m¹ch logic
trªn c¬ së tæ hîp logic cña c¸c ®Çu vµo vµ ra b»ng c¸c phÇn tö AND vµ OR.
Víi nguyªn lý nµy râ rµng sÏ gÆp khã kh¨n khi thùc thi c¸c øng dông ®ßi hái
c¸c phÐp tÝnh to¸n logic phøc t¹p víi tèc ®é cao. §Ó ®¸p øng ®iÒu nµy FPGA
(Field Programmable Gate Arrays) ®· ra ®êi. Nã lµ sù cÊu thµnh cña c¸c khèi
logic kh¶ tr×nh cïng víi c¸c kªnh kÕt nèi liªn th«ng kh¶ tr×nh gi÷a c¸c khèi ®ã
víi nhau. Mét h×nh ¶nh tiªu biÓu vÒ cÊu tróc nguyªn lý cña FPGA ®îc m« t¶
nh trong H×nh 1-43: CÊu tróc nguyªn lý cña FPGA.

H×nh 1-43: CÊu tróc nguyªn lý cña FPGA

FPGA - ®ang trë thµnh mét sù lùa chän thay thÕ rÊt c¹nh tranh cña c¸c
chip xö lý nhóng ASICs. Nã hç trî c¸c u ®iÓm vÒ chøc n¨ng lùa chän gièng
nh ASICs nhng cho phÐp chØnh söa vµ thiÕt kÕ l¹i sau khi sö dông vµ gi¸
thµnh ph¸t triÓn thÊp h¬n. FPGA cho phÐp kh¶ n¨ng thiÕt kÕ linh ho¹t vµ thÝch
nghi dÔ dµng cho c¸c tiÖn Ých thiÕt bÞ tèi u, trong khi vÉn duy tr× ®îc kh«ng
gian kÝch thíc phÇn cøng vµ n¨ng lîng tiªu thô cña hÖ thèng. §iÒu nµy
kh«ng dÔ dµng nhËn ®îc khi thiÕt kÕ dùa trªn nÒn c¸c Chip DSP.

FPGA thùc sù phï hîp cho c¸c øng dông ®ßi hái lîng tÝnh to¸n lín nh
trong xö lý tÝn hiÖu. FPGA cã thÓ ®îc lËp tr×nh ho¹t ®éng ®ång thêi víi mét
sè c¸c ®êng d÷ liÖu song song. Chóng lµ c¸c ®êng d÷ liÖu ho¹t ®éng cña tæ
59

hîp nhiÒu c¸c chøc n¨ng tõ ®¬n gi¶n ®Õn phøc t¹p nh bé céng, bé nh©n, bé
®Õm, bé lu tr÷, bé so s¸nh, bé tÝnh t¬ng quan, …

H×nh 1-44: CÊu tróc CLB vµ LAB


Ngµy nay cã thÓ ph©n lo¹i ra mét sè kiÓu chñng lo¹i FPGA dùa vµo cÊu
t¹o cña chóng:
- CÊu t¹o tõ SRAM:
Víi lo¹i nµy c¸c m¾t kÕt nèi kh¶ tr×nh ®îc thùc hiÖn b»ng c¸c phÇn tö
SRAM, chÝnh v× vËy cho phÐp thùc hiÖn lËp tr×nh lÆp l¹i nhiÒu lÇn. ¦u ®iÓm
næi bËt cña lo¹i nµy lµ c¸c ý tëng thiÕt kÕ míi cã thÓ ®îc thùc thi vµ thö
nghiÖm nhanh chãng. H¬n n÷a SRAM còng ®ang lµ mét híng ph¸t triÓn rÊt
m¹nh hiÖn nay trong nÒn c«ng nghiÖp s¶n xuÊt bé nhí vµ còng ®Òu thùc thi
theo c«ng nghÖ CMOS rÊt phï hîp víi c«ng nghÖ chÕ t¹o FPGA.

Tuy nhiªn mét ®Æc ®iÓm cã thÓ xem nh  lµ nhîc ®iÓm cña FPGA cÊu
t¹o tõ c¸c phÇn tö SRAM lµ chóng ph¶i cÊu h×nh l¹i mçi khi nguån hÖ thèng
®îc cung cÊp. C«ng viÖc nµy thêng ®îc thùc hiÖn bëi mét bé nhí ngoµi
chuyªn dông hoÆc bëi mét bé vi ®iÒu khiÓn kÌm theo m¹ch. ChÝnh v× vËy
còng lµm gi¸ thµnh cña FPGA t¨ng thªm.

- CÊu t¹o tõ cÇu ch× (anti-fused)

Kh«ng gièng nh lo¹i FPGA cÊu t¹o tõ SRAM, FPGA víi cÊu tö kiÓu
cÇu ch× ®îc lËp tr×nh offline b»ng mét thiÕt bÞ lËp tr×nh chuyªn dông. ý tëng
60

chÕ t¹o lo¹i FPGA nµy xuÊt ph¸t tõ nhu cÇu vÒ mét thiÕt bÞ kh¶ tr×nh cã kh¶
n¨ng lu cÊu h×nh sau khi ®îc sö dông. Tøc lµ nã kh«ng ph¶i lµm c«ng viÖc
cÊu h×nh mçi khi nguån hÖ thèng ®îc cung cÊp. Khi FPGA anti-fused ®·
®îc lËp tr×nh th× nã kh«ng thÓ bÞ thay ®æi hay ®îc lËp tr×nh l¹i n÷a. ChÝnh
nhê ®iÒu nµy nªn nã kh«ng cÇn bÊt kú mét bé nhí ngoµi nµo ®Ó lu tr÷ cÊu
h×nh vµ cã thÓ tiÕt kiÖm, gi¶m gi¸ thµnh cña thiÕt bÞ.

Mét u ®iÓm næi bËt cña FPGA anti-fused lµ kiÓu cÊu tróc liªn kÕt kh¸
bÒn v÷ng víi c¸c lo¹i nhiÔu bøc x¹. §Æc ®iÓm nµy kh¸ quan träng khi thiÕt bÞ
ph¶i lµm viÖc trong m«i trêng tiÒm n¨ng nh qu©n sù hoÆc hµng kh«ng vò
trô. V× vËy nã tr¸nh ®îc trêng hîp rñi ro cã thÓ x¶y ra nÕu sö dông c«ng
nghÖ SRAM lµ hiÖn tîng lËt tr¹ng th¸i (flipped). Tuy nhiªn hiÖn tîng nµy
còng cã thÓ ®îc kh¾c phôc b»ng c¬ chÕ dù phßng chËp 3 nhng l¹i lµm t¨ng
thªm chi phÝ chÕ t¹o.

Mét u ®iÓm næi bËt cña lo¹i FPGA anti-fused lµ kh¶ n¨ng b¶o vÖ c«ng
nghÖ. Tøc lµ d÷ liÖu cÊu h×nh lËp tr×nh cho FPGA cã thÓ ®îc b¶o vÖ bëi viÖc
®äc bÊt hîp ph¸p hoÆc kh«ng cho phÐp ®äc. Trong qu¸ tr×nh xö lý hoÆc ph¸t
triÓn, ngêi lËp tr×nh sÏ sö dông mét tÖp d÷ liÖu cÊu h×nh ®Ó lËp tr×nh vµ kiÓm
tra qu¸ tr×nh n¹p cÊu h×nh cho FPGA. C«ng viÖc nµy chØ thùc hiÖn mét lÇn vµ
sÏ kh«ng thÓ thay ®æi ®îc n÷a. Khi thùc hiÖn xong nã cã thÓ ®îc thiÕt lËp
thªm mét thuéc tÝnh lµ chèng ®äc trùc tiÕp tõ FPGA d÷ liÖu liªn quan ®Õn cÊu
h×nh. Ngoµi ra chóng ta còng cã thÓ biÕt thªm r»ng FPGA anti-fused thêng
sö dông Ýt n¨ng lîng h¬n lo¹i FPGA SRAM, kÝch thíc còng nhá h¬n, vµ tèc
®é còng nhanh h¬n mét chót nhê kho¶ng c¸ch kÕt nèi cøng gi÷a c¸c phÇn tö
ng¾n h¬n.

Tuy nhiªn nhîc ®iÓm lín nhÊt cña FPGA anti-fused lµ chØ cã thÓ ®îc
lËp tr×nh vµ cÊu h×nh mét lÇn. V× vËy nã chØ thùc sù phï hîp khi thùc thi hoµn
chØnh s¶n phÈm cuèi cïng vµ kh«ng phï hîp víi môc ®Ých thiÕt kÕ ph¸t triÓn.
61

- CÊu t¹o tõ EEPROM/FLASH

EEPROM or FLASH-based FPGAs còng cã nguyªn lý cÊu t¹o t¬ng tù


nh lo¹i FPGA-SRAM. C¸c phÇn tö cÊu h×nh cña nã ®îc kÕt nèi dùa trªn
mét chuçi thanh ghi dÞch dµi. Chóng cã thÓ ®îc cÊu h×nh offline b»ng c¸c
thiÕt bÞ lËp tr×nh chuyªn dông. Còng cã mét sè cã thÓ lËp tr×nh online nhng
thêi gian lËp tr×nh cÊu h×nh sÏ gÊp kho¶ng 3 lÇn thêi gian thùc thi víi nÒn
FPGA-SRAM. Khi ®· ®îc cÊu h×nh th× chóng cã thÓ ®îc duy tr× vµ kh«ng bÞ
mÊt ®i nh nguyªn lý lu gi÷ cña EEPROM hoÆc FLASH. Lo¹i FPGA-
EEPROM/FLASH cã cÊu t¹o nhá h¬n so víi lo¹i FPGA-SRAM v× vËy còng
cã thÓ gi¶m ®îc thêi gian lan truyÒn tÝn hiÖu kÕt nèi liªn th«ng gi÷a c¸c phÇn
tö logic.

§Ó b¶o vÖ c«ng nghÖ khi FPGA ®· ®îc cÊu h×nh vµ ®a ra sö dông, ta
cã thÓ b¶o vÖ b»ng c¬ chÕ khãa m· mÒm (cÊu t¹o tõ kho¶ng 50 bit ®Õn vµi
tr¨m bit). Muèn ®äc ®îc th«ng tin cÊu h×nh trùc tiÕp tõ FPGA, ngêi ta cÇn
ph¶i cã m· khãa ®ã vµ còng rÊt khã hoÆc kh«ng thÓ mß ®îc theo nguyªn lý
thö sai. V× muèn vËy theo íc tÝnh còng ph¶i mÊt ®Õn hµng triÖu n¨m míi hy
väng thµnh c«ng ®Ó mß ra ®îc.

Tuy nhiªn c«ng nghÖ chÕ t¹o FPGA-EEPROM/FLASH ®ßi hßi thùc thi
qua nhiÒu c«ng ®o¹n xö lý h¬n so víi lo¹i FPGA-SRAM v× vËy mµ sù ph¸t
triÓn cña chóng còng chËm h¬n. H¬n n÷a n¨ng lîng tiªu thô cña chóng còng
lín h¬n v× ph¶i nu«i rÊt nhiÒu c¸c phÇn tö ®iÖn trë kÐo (pull-up resistor).

- CÊu t¹o tõ tæ hîp FLASH-SRAM

Ngµy nay ngêi ta còng ph¸t triÓn chÕ t¹o c¸c lo¹i FPGA cÊu t¹o tõ c¸c
tæ hîp SRAM vµ FLASH ®Ó tËn dông ®îc c¸c u ®iÓm cña c¶ hai chñng lo¹i
nµy. Th«ng thêng c¸c phÇn tö cÊu h×nh FLASH sÏ ®îc sö dông ®Ó lu c¸c
néi dung cÊu h×nh ®Ó sao chÐp cho c¸c phÇn tö cÊu h×nh SRAM. Vµ c¸c phÇn
tö cÊu h×nh SRAM hoµn toµn cã thÓ ®îc cÊu h×nh l¹i theo yªu cÇu thiÕt kÕ
62

trong khi vÉn duy tr× mét phÇn thiÕt kÕ cÊu h×nh gèc lu trong c¸c phÇn tö
FLASH.

Ngêi ta còng thêng ph©n lo¹i FPGA dùa vµo phÇn tö kiÕn tróc cña
chóng vµ bao gåm 3 lo¹i chÝnh: mÞn, th« vµ trung b×nh. B¶n chÊt viÖc ph©n
lo¹i nµy lµ dùa vµo kiÓu khèi logic kh¶ tr×nh cÊu thµnh nªn FPGA. Víi lo¹i
FPGA mÞn th× kiÕn tróc c¸c khèi logic kh¶ tr×nh thêng lµ c¸c cæng logic ®¬n
gi¶n (kiÓu AND, OR…, vµ c¸c phÇn tö lu gi÷ nh Triger D…). KiÓu kiÕn
tróc nµy phï hîp vµ thêng sö dông hiÖu qu¶ víi kiÕn tróc ASIC. GÇn ®©y xu
thÕ ph¸t triÓn cña FPGA ®ang tËp trung vµo lo¹i kiÕn tróc th«. Tøc lµ c¸c khèi
logic kh¶ tr×nh lµ c¸c khèi cã kh¶ n¨ng xö lý logic lín víi nhiÒu tæ hîp liªn
kÕt vµ phøc t¹p víi nhiÒu ®Çu vµo vµ ra liªn kÕt. Tïy theo møc ®é cña khèi
logic kh¶ tr×nh ®ã mµ ngêi ta ph©n ra thµnh c¸c lo¹i trung b×nh.

H×nh 1-45: Khèi logic d¹ng MUX

Cã hai lo¹i cÊu tróc c¬ b¶n cÊu thµnh nªn c¸c khèi logic kh¶ tr×nh trong
kiÕn tróc FPGA th« hoÆc trung b×nh lµ MUX (Multiplexer) vµ LUT (Lookup
Table). Trong lo¹i cÊu tróc MUX th× c¸c phÇn tö logic ®îc cÊu thµnh theo
cÊu tróc tæ hîp c¸c ®Çu vµo ra theo nguyªn lý MUX nh m« t¶ trong h×nh 1-
45: Khèi logic d¹ng MUX.
63

§èi víi lo¹i cÊu tróc LUT th× c¸c ®Çu vµo thùc chÊt lµ c¸c tæ hîp ®Ó chän
ra gi¸ trÞ trong b¶ng chÊt lý cña hµm chøc n¨ng cÇn thùc thi. Nguyªn lý cña
lo¹i khèi logic nµy ®îc m« t¶ nh trong h×nh 1-46.

H×nh 1-46: LUT thùc hiÖn hµm tæ hîp AND vµ OR

HÇu hÕt c¸c øng dông ®Òu cã nhu cÇu vÒ bé nhí RAM on Chip v× vËy
mét sè dßng FPGA hiÖn nay còng tÝch hîp thªm c¶ c¸c phÇn tö nhí RAM vµ
®îc gäi lµ RAM nhóng (embedded RAM). C¸c phÇn tö RAM ®ã ®îc tæ
chøc thµnh tõng khèi vµ tuú thuéc vµo kiÕn tróc cña FPGA nã sÏ ®îc ph©n bè
linh ho¹t, thêng lµ xung quanh c¸c phÇn tö ngo¹i vi hoÆc ph©n bè ®Òu trªn bÒ
mÆt Chip. Mét h×nh ¶nh minh ho¹ vÒ ph©n bè RAM trong kiÕn tróc FPGA
®îc m« t¶ nh trong h×nh 1-47.

H×nh 1-47: H×nh ¶nh cña Chip cã c¸c cét lµ c¸c khèi RAM nhóng

- FPGA víi h¹t nh©n DSP

Thùc chÊt ®ã lµ mét tæ hîp nh»m t¨ng tèc vµ kh¶ n¨ng tÝnh to¸n. Kh¸i
niÖm nµy còng t¬ng tù nh c¸c bé ®ång xö lý to¸n häc trong kiÕn tróc m¸y
64

tÝnh. Nguyªn lý lµ nh»m san sÎ vµ gi¶m bít t¶i sang FPGA ®Ó thùc thi c¸c
chøc n¨ng tÝnh to¸n lín (th«ng thêng ®ßi hái thùc hiÖn trong nhiÒu nhÞp ho¹t
®éng cña Chip DSP) vµ cho phÐp Chip DSP tËp trung thùc hiÖn c¸c chøc n¨ng
®¬n nhÞp tèi u. Tæ hîp FPGA vµ DSP lµ mét kiÕn tróc rÊt linh ho¹t vµ ®Æc
biÖt c¶i thiÖn ®îc hiÖu suÊt thùc hiÖn vµ t¨ng tèc h¬n rÊt nhiÒu so víi kiÕn
tróc nhiÒu Chip DPS hoÆc ASICs ®ång thêi gi¸ thµnh l¹i thÊp h¬n.

H×nh 1-48: S¬ ®å nguyªn lý m¹ch ghÐp nèi V§K vµ FPGA

1.3. ThiÕt kÕ hÖ nhóng: tæ hîp phÇn cøng – phÇn


mÒm.
1.3.1. Quy tr×nh ph¸t triÓn.

Qu¸ tr×nh ph¸t triÓn phÇn mÒm nhóng thùc hiÖn theo chu tr×nh sau:

(1) Problem specification

(2) Tool/chip selection

(3) Software plan

(4) Device plan

(5) Code/debug

(6) Test

(7) Integrate
65

H×nh 1-49: M« h×nh ph¸t triÓn hÖ thèng nhóng

1.3.2. Ph©n tÝch yªu cÇu vµ m« h×nh hãa sù kiÖn.

1.3.2.1. Ph¬ng ph¸p m« h×nh Petrinet.

N¨m 1962 Carl Adam Petri ®· c«ng bè ph¬ng ph¸p m« h×nh h×nh häa
t¸c vô hay qu¸ tr×nh theo sù phô thuéc nh©n qu¶ ®· ®îc phæ cËp réng r·i vµ
®îc biÕt tíi nh ngµy nµy víi tªn gäi lµ m¹ng Petri.

M¹ng Petri ®îc sö dông phæ biÕn ®Ó biÓu diÔn m« h×nh vµ ph©n tÝch c¸c
hÖ thèng cã sù c¹nh tranh trong qu¸ tr×nh ho¹t ®éng. Mét hÖ thèng cã thÓ hiÓu
lµ mét tæ hîp cña nhiÒu thµnh phÇn vµ mçi thµnh phÇn th× ®Òu cã c¸c thuéc
tÝnh. C¸c thuéc tÝnh ®ã cã thÓ thay ®æi vµ ®îc ®Æc trng bëi c¸c biÕn tr¹ng
th¸i. Mét chuçi c¸c tr¹ng th¸i sÏ m« t¶ qu¸ tr×nh ®éng cña mét hÖ thèng.

M¹ng Petri thùc sù lµ mét gi¶i ph¸p m« t¶ hÖ thèng ®éng víi c¸c sù kiÖn
rêi r¹c t¸c ®éng lµm thay ®æi tr¹ng th¸i cña c¸c ®èi tîng trong hÖ thèng theo
tõng ®iÒu kiÖn cô thÓ tr¹ng th¸i cña hÖ thèng.

M¹ng Petri ®îc thiÕt lËp dùa trªn 3 thµnh phÇn chÝnh: (1) C¸c ®iÒu kiÖn,
(2) c¸c sù kiÖn, vµ (3) quan hÖ luång. C¸c ®iÒu kiÖn cã thÓ lµ tho¶ m·n hoÆc
66

kh«ng tho¶ m·n. C¸c sù kiÖn lµ cã thÓ x¶y ra hoÆc kh«ng. Vµ quan hÖ luång
m« t¶ ®iÒu kiÖn cña hÖ tríc khi sù kiÖn x¶y ra.

C¸c ®iÒu kiÖn ®ßi hái ph¶i tho¶ m·n ®Ó mét sù kiÖn x¶y ra hoÆc chuyÓn
tr¹ng th¸i thùc hiÖn th× ®îc gäi lµ ®iÒu kiÖn tríc (precondition). C¸c ®iÒu
kiÖn mµ ®îc tho¶ m·n khi mét sù kiÖn nµo ®ã x¶y ra th× ®îc gäi lµ ®iÒu kiÖn
sau (postcondition).
1.3.2.2. Quy íc biÓu diÔn m« h×nh Petrinet.

Trong qui íc biÓu diÔn h×nh ho¹ th× m¹ng Petri sö dông c¸c vßng trßn
®Ó biÓu diÔn c¸c ®iÒu kiÖn, c¸c hép ®Ó biÓu diÔn c¸c sù kiÖn, vµ mòi tªn biÓu
diÔn quan hÖ luång. Mét vÝ dô minh ho¹ vÒ m¹ng Petri ®îc m« t¶ trong H×nh
6-1, trong ®ã:
• P = { p 1 , p2 ,..., pnp } lµ tËp gåm np vÞ trÝ ®îc biÓu diÔn trong m«
R R R R R R

h×nh (®îc m« t¶ bëi c¸c vßng trßn);


• T = {t 1 , t2 ,..., t nt } lµ tËp gåm nt chuyÓn ®æi trong tËp chuyÓn ®æi
R R R R R R

biÓu diÔn trong m« h×nh(®îc m« t¶ bëi c¸c h×nh ch÷ nhËt);


• I biÓu diÔn quan hÖ ®i vµo chuyÓn ®æi vµ ®îc ký hiÖu bëi ®êng
mòi tªn theo híng tõ c¸c vÞ trÝ tíi c¸c chuyÓn ®æi; biÓu diÔn quan hÖ ®i
ra khái chuyÓn ®æi vµ ®îc ký hiÖu bëi c¸c ®êng mòi tªn theo híng
tõ c¸c chuyÓn ®æi tíi c¸c vÞ trÝ;
• M = {m 1 , m 2,...mnp } lµ dÊu tr¹ng th¸i cña c¸c chuyÓn ®æi trong
R R R R R R

hÖ thèng. C¸c gi¸ trÞ mi lµ sè c¸c thÎ bµi (®îc ký hiÖu nh c¸c chÊm
R R

trßn ®en) chøa bªn trong c¸c vÞ trÝi ptrong tËp dÊu M. R R
67

H×nh 1-50: VÝ dô vÒ mét m« h×nh d¹ng Petri

HÖ thèng ®éng cã thÓ ®îc m« t¶ bëi m¹ng Petri nhê sù chuyÓn dÞch c¸c
thÎ bµi trong c¸c vÞ trÝ cña hÖ thèng m« h×nh vµ tu©n thñ theo luËt sau:

• Mét chuyÓn ®æi ®îc phÐp thùc thi nÕu tÊt c¶ c¸c vÞ trÝ ®i vµo chuyÓn
®æi ®ã chøa Ýt nhÊt mét thÎ bµi.

• Khi mét chuyÓn ®æi ®· ®îc thùc thi xong (hoµn thµnh) th× mét thÎ bµi
sÏ bÞ lo¹i ra khái vÞ trÝ ®i vµo chuyÓn ®æi ®ã ®ång thêi bæ sung thªm mét thÎ
bµi vµo c¸c vÞ trÝ ®Çu ra t¬ng øng cña chuyÓn ®æi ®ã.

C¸c tr¹ng th¸i ®éng cña hÖ thèng ®îc m« t¶ bëi tËp R (M) ®¸nh dÊu bëi
c¸c dÊu trong tËp M. Trong vÝ dô trªn cã 5 phÇn tö dÊu trong tËp R lÇn lît lµ
M1 , M2, M 3 , M4 , M5 . T¬ng øng lÇn lît nh sau:
R R R R R R R R R R

M 1 = (1, 0, 0, 0, 0):

M 2 = (0, 1, 1, 0, 0):

M 3 = (0, 1, 0, 0,1):

M 4 = (0, 0, 0, 1, 1):

M 5 = (0, 0, 1, 1, 0):
68

1.3.2.3. M« t¶ c¸c t×nh huèng ho¹t ®éng c¬ b¶n víi Petrinet.


 §ång hµnh (Song song) vµ ®ång bé

Trong m« h×nh PN m« t¶ nh trong h×nh 1-51 (a), c¸c chuyÓn ®æ i t t2


1 vµ R
R R R

®îc phÐp thùc hiÖn ®ång thêi; ho¹t ®éng cña chóng kh«ng ¶nh hëng ®Õn
nhau. C¸c ho¹t ®éng ®îc m« h×nh bëi hai chuyÓn ®æi thùc hiÖn song song.
Trong hÖ thèng dù phßng víi ®é tin cËy cao, m« h×nh nµy ®îc sö dông ®Ó
biÓu diÔn hai thµnh phÇn1Cvµ C2 song song ®Ó ®¶m b¶o ho¹t ®éng dù phßng;
R R R R

trong trêng hîp nµy c¸c vÞ trÝ1pvµ p3 biÓu diÔn ®iÒu kiÖn lµm viÖc, c¸c vÞ trÝ
R
R R R

p2 vµ p4 biÓu diÔn ®iÒu kiÖn lç1i,vµ


R R R R t t2 lµ c¸c sù kiÖn lçi trong c¸c t¸c vô C1 R R R R R R

vµ C2 mét c¸ch t¬ng øng.


R R

H×nh 1-51: M« h×nh Petrinet 2 ho¹t ®éng song song


a) ®éc lËp vµ b) ®ång bé
Trong ho¹t ®éng song song, c¸c t¸c vô hoµn toµn ®éc lËp, tuy nhiªn nÕu
c¸c sù kiÖn ®ã cÇn ph¶i kÕt thóc vµ lµ ®iÒu kiÖn ®Ó cho mét chuyÓn ®æi kh¸c
th× ho¹t ®éng ®ång bé cã thÓ ®îc thùc hiÖn nhê bæ sung mét chuyÓn ®æ
3 i t R R

nh m« t¶ trong h×nh 1-51 (b). Khi ®ã chuyÓn ®æ


3 cÇ
i t n thÎ bµi ®ång thêi cña R R

c¶ p2 vµ p4 .
R
R R R

 Chia sÎ ®ång bé

Mét yÕu tè ®Æc trng trong ho¹t ®éng cña hÖ thèng ph©n t¸n lµ thêng
ph¶i chia sÎ mét sè tµi nguyªn h÷u h¹n. Sù thiÕu thèn vÒ tµi nguyªn lµm h¹n
chÕ ho¹t ®éng cña hÖ thèng trong qu¸ tr×nh xö lý thËm chÝ lµm t¾c nghÏn hÖ
69

thèng. ViÖc m« h×nh vµ ph©n tÝch c¸c hÖ thèng cã hiÖn tîng t¾c nghÏn lµ mét
t¸c vô khã kh¨n trong hÇu hÕt c¸c qu¸ tr×nh m« h×nh cã thÓ gÆp ph¶i.

H×nh 1-52: Ho¹t ®éng cña bé ®Õm víi dung lîng h÷u h¹n

§Ó minh ho¹ t×nh huèng nµy, biÓu diÔn ho¹t ®éng cña bé ®Öm víi dung
lîng h÷u h¹n ®îc m« t¶ bëi PN trong h×nh 1-52. VÞ trÝ3 m«
p h×nh sè c¸c vÞ R R

trÝ bé ®Öm cßn trèng vµ vÞ trÝ


2 m«
p h×nh sè vÞ trÝ ®· ®îc ®iÒn ®Çy; chó ý r»ng
R R

tæng c¸c thÎ bµi chøa trong c¸c vÞ trÝ 2pvµ p3 lu«n lµ h»ng sè (trong vÝ dô nµy
R R R R

lµ 3). ChuyÓn ®æi2 tm« h×nh qu¸ tr×nh ®iÒn ®Çy mét vÞ trÝ bé ®Öm vµ hoµn
R R

thµnh nÕu cã Ýt nhÊt mét vÞ trÝ bé ®Öm cßn trèng cïng víi thÎ bµi chøa trong vÞ
trÝ p1 vµ p3. ChuyÓn ®æi3 t®îc phÐp thùc hiÖn nÕu cã Ýt nhÊt mét vÞ trÝ bé
R R R R R R

®Öm ®· ®îc ®iÒn ®Çy. Khi hoµn thµnh chuyÓn3 ,®æ


méit tthÎ bµi sÏ ®îc R R

chuyÓn tõ vÞ trÝ2 psang vÞ trÝ3p.


R R R R

TuÇn tù

Ho¹t ®éng tuÇn tù sÏ ®îc m« t¶ vµ minh ho¹ bëi ho¹t ®éng cña bé t¹o
vµ bé sö dông th«ng qua mét bé ®Öm. Bé t¹o sÏ sinh ra c¸c ®èi tîng ®Ó ®a
vµo trong mét bé ®Öm vµ sÏ ®îc lÊy ra bëi bé sö dông. Qu¸ tr×nh sö dông sÏ
ph¶i ®îc thùc hiÖn mét c¸ch tuÇn tù theo qu¸ tr×nh t¹o ra ®èi tîng. M« h×nh
cho ho¹t ®éng nµy ®îc diÔn t¶ bëi PN nh trong h×nh 1-53 (a). ThÎ bµi chøa
trong vÞ trÝ1pcã nghÜa lµ bé t¹o ®· s½n sµng thùc hiÖn. Khi c¸c chuyÓn ®æ
R R
1 i t R R
70

vµ t2 hoµn thµnh th× mét ®èi tîng ®îc t¹o ra (mét thÎ bµi t¬ng øng còng sÏ
R R

®îc chuyÓn vµo trong bé ®Öm m« h×nh bëi vÞ 5trÝ


) vµp bé t¹o l¹i s½n sµng trë R R

l¹i. NÕu bé sö dông cã nhu cÇu tiªu thô (®îc m« h×nh bëi thÎ bµi chøa trong
vÞ trÝ 3p) vµ ®ang cã Ýt nhÊt mét ®èi tîng trong bé ®Öm th× mét thÎ bµi chøa
R R

trong vÞ trÝ5psÏ ®îc lÊy ®i vµ chuyÓn ®æ


R R
3 isÏt hoµn thµnh. R R

H×nh 1-53: Ho¹t ®éng t¹o vµ sö dông c¸c bé ®Õm


a) v« h¹n vµ b) h÷u h¹n
Trong c¸ch m« t¶ trong h×nh 1-53 (a) th× viÖc t¹o vµ sö dông ®îc thùc
hiÖn th«ng qua mét bé ®Öm víi gi¶ thiÕt lµ cã dung lîng v« h¹n. Trong thùc
tÕ th× c¸c bé ®Öm lµ h÷u h¹n, ®Ó m« t¶ ho¹t ®éng víi bé ®Öm lo¹i nµy h×nh 1-
53 (b) ®îc sö dông. VÞ trÝ6 pm« h×nh c¸c vÞ trÝ bé ®Öm cßn trèng vµ vÞ 5trÝ p
R R R R

m« h×nh c¸c vÞ trÝ bé ®Öm ®· ®îc ®iÒn ®Çy. Tæng sè lîng c¸c thÎ bµi chøa
trong c¸c vÞ trÝ 5pvµ p6 ph¶i lu«n lµ h»ng sè. NÕu mét thÎ bµi ®îc g¸n cho vÞ
R R R R

trÝ p5 trong dÊu khëi t¹o th× bé t¹o sÏ kh«ng thÓ t¹o thªm ®èi tîng chõng nµo
R R

bé sö dông vÉn cha tiªu thô ®èi tîng trong bé ®Öm.

Lo¹i trõ xung ®ét

Hai t¸c vô C 1 vµ C2 ®îc phÐp lµm viÖc song song vµ cïng chia sÎ tµi
R R R R

nguyªn CS, nhng kh«ng ®îc truy nhËp vµo tµi nguyªn ®ång thêi. Gi¶n ®å
PN cho ho¹t ®éng nµy ®îc m« t¶ nh trong h×nh 1-54. C¸c vÞ trÝ p p5 biÓu
1 vµ R
R R R

diÔn c¸c t¸c vô C1 vµ C2 lµm viÖc ®éc lËp; vÞ trÝ


R R p p6 biÓu diÔn c¸c yªu cÇu
2 vµ R R R R R R
71

cña c¸c t¸c vô C 1 vµ C2 mét c¸ch t¬ng øng khi muèn truy nhËp vµo tµi
R R R R

nguyªn chia sÎ CS; p 3 vµ p7 biÓu diÔn CS ®ang bÞ chiÕm dông bëi c¸c t¸c vô
R R R R

C1 vµ C2 mét c¸ch t¬ng øng. VÞ trÝ4 pm« t¶ quyÕt ®Þnh xem t¸c vô nµo cã thÓ
R R R R R R

truy nhËp tµi nguyªn Cs vµ tr¸nh c¸c vÞ trÝ3 pvµ p7 bÞ ®¸nh dÊu ®ång thêi. R
R R R

Thùc tÕ khi p2 vµ p6 ®îc ®¸nh dÊu th× c¸c chuyÓn ®æ


R R R R i t t5 xung ®ét. ViÖc
2 vµ R R R R

hoµn thµnh mét trong hai t¸c vô sÏ kho¸/cÊm lÉn nhau. ViÖc hoµn thµnh
chuyÓn ®æi3 t hoÆc 6t sÏ m« h×nh viÖc gi¶i phãng nguån tµi nguyªn chung
R
R R R

(chuyÓn thÎ bµi trë l¹i vÞ trÝ4)p vµ trë vÒ ®iÒu kiÖn lµm viÖc b×nh thêng. R R

H×nh 1-54: Ho¹t ®éng lo¹i trõ cña hai t¸c vô song song chia sÎ chung tµi
nguyªn
§Ó b¾t ®Çu lµm quen víi nguyªn lý biÓu diÔn m« h×nh hãa b»ng m¹ng
Petri chóng ta xÐt ho¹t ®éng cña mét hÖ thèng ®ång bé gi÷a ho¹t ®éng t¹o vµ
sö dông mét h¹ng môc (item) th«ng qua bé ®Öm nh ®îc m«t t¶ trong h×nh
díi.

Bé t¹o - Producer:
 T¹o ra h¹ng môc
 Bæ sung vµo bé ®Öm

Bé sö dông (tiªu thô) - Consumer:


 LÊy h¹ng môc ra khái bé ®Öm vµ
72

 Sö dông h¹ng môc

H×nh 1-55: Ho¹t ®éng cña hÖ thèng gåm 1 bé t¹o vµ 1 bé sö dông


Trong trêng hîp cã nhiÒu h¬n mét bé sö dông th× hÖ thèng ®îc biÓu
diÔn nh sau:

H×nh 1-56: Ho¹t ®éng cña hÖ thèng gåm 1 bé t¹o vµ 2 bé sö dông

HÖ thèng cã 2 bé nhí ®Öm

H×nh 1-57: Ho¹t ®éng cña hÖ thèng gåm 2 bé t¹o vµ 2 bé sö dông

HÖ thèng võa xÐt ®îc m« h×nh hãa bëi ®iÒu kiÖn vµ sù kiÖn. C¸c ®iÒu
kiÖn ®îc m« t¶ bëi c¸c vßng trßn vµ nÕu ®iÒu kiÖn tháa m·n th× khi ®ã vßng
73

trßn sÏ ®îc biÓu diÔn víi mét chÊm trßn n»m trong t¬ng øng víi mét thÎ bµi
(token).

Sù kiÖn ®îc ký hiÖu bëi c¸c hép h×nh ch÷ nhËt. Víi mçi mét sù kiÖn th×
sÏ tån t¹i
• Mét tËp c¸c ®iÒu kiÖn tríc vµ ®îc nhËn biÕt bëi c¸c mòi tªn ®i
vµo c¸c sù kiÖn tõ c¸c ®iÒu kiÖn ®ã vµ
• Mét tËp c¸c ®iÒu kiÖn sau ®îc nhËn biÕt bëi c¸c mòi tªn ®i ra
khái c¸c sù kiÖn vµ ®i vµo c¸c ®iÒu kiÖn ®ã.

Mét sù kiÖn cã thÓ x¶y ra (®îc thùc thi) khi vµ chØ khi
 tÊt c¶ c¸c ®iÒu kiÖn tríc t¬ng øng ®îc tháa m·n (nhËn
®îc thÎ bµi) vµ
 tÊt c¶ c¸c ®iÒu kiÖn sau t¬ng øng cha ®îc tháa m·n.

NÕu mét sù kiÖn x¶y ra th×


 tÊt c¶ c¸c ®iÒu kiÖn tríc t¬ng øng sÏ bÞ xãa bá (reset) vµ
 tÊt c¶ c¸c ®iÒu kiÖn sau t¬ng øng sÏ ®îc thiÕt lËp (set).

Víi lo¹i m¹ng biÓu diÔn nh trªn ngêi ta gäi lµ m¹ng Petri c¬ b¶n
(Elementary Net) vµ ký hiÖu t¾t lµ EN.

§Ó thuËn tiÖn vµ ®¬n gi¶n hãa trong viÖc biÓu diÔn ngêi ta cã thÓ sö
dông c¸c mòi tªn cã thªm träng sè nguyªn ®Ó m« t¶ hÖ thèng cã chung nhiÒu
®iÒu kiÖn tríc vµ sau t¬ng øng cïng víi mét sù kiÖn hoÆc ®iÒu kiÖn. §Æc
biÖt khi sè h¹ng môc trao ®æi gi÷a bé t¹o vµ bé sö dông lín h¬n 1. Víi lo¹i
m¹ng nh vËy ngêi ta ph©n lo¹i vµ gäi lµ m¹ng Petri ChuyÓn ®æi/VÞ trÝ
(Transitions/Places) ký hiÖu t¾t lµ P/T-net.

Còng t¬ng tù nh EN, P/T-net bao gåm:


•C¸c vÞ trÝ ®îc ký hiÖu vµ m« t¶ bëi c¸c vßng trßn: C¸c vÞ trÝ cã
thÓ chøa mét sè nguyªn d¬ng c¸c thÎ bµi.
74

•C¸c chuyÓn ®æi ®îc m« t¶ bëi c¸c h×nh ch÷ nhËt: C¸c chuyÓn
®æi sÏ lÊy ®i hoÆc thªm vµo sè thÎ bµi tõ hoÆc tíi mét vÞ trÝ.
•C¸c mòi tªn kÕt nèi trùc tiÕp gi÷a c¸c vÞ trÝ vµ chuyÓn ®æi: C¸c
mòi tªn cã kÌm theo c¸c träng sè t¬ng øng víi sè lîng thÎ bµi
mµ nã cã thÓ ®îc lÊy ra hoÆc thªm vµo trong c¸c vÞ trÝ.

Qui íc: Mét tËp vÞ trÝ kÕt nèi víi chuyÓn ®æi th«ng qua mét mòi tªn trùc
tiÕp theo chiÒu tõ vÞ trÝ tíi chuyÓn ®æi ®îc gäi lµ tËp c¸c tiÒn chuyÓn ®æi.
Ngîc l¹i, mét tËp vÞ trÝ kÕt nèi víi chuyÓn ®æi th«ng qua mét mòi tªn trùc
tiÕp theo chiÒu ngîc tõ vÞ trÝ tíi chuyÓn ®æi th× ®îc gäi lµ tËp c¸c hËu
chuyÓn ®æi.

Mét chuyÓn ®æi cã thÓ x¶y ra (thùc hiÖn) khi vµ chØ khi tÊt c¶ c¸c vÞ trÝ
trong tËp tiÒn vÞ trÝ chøa mét sè lîng tèi thiÓu thÎ bµi nh ®îc ®Þnh nghÜa
bëi c¸c träng sè cña c¸c mòi tªn t¬ng øng.

Khi mét chuyÓn ®æi ®îc thùc thi nã sÏ


 Lo¹i bá bít sè thÎ bµi tõ tËp tiÒn vÞ trÝ b»ng ®óng sè lîng
®· ®îc ®Þnh nghÜa cho c¸c träng sè cña c¸c mòi tªn t¬ng
øng.
 Céng thªm vµo sè lîng c¸c thÎ bµi vµo tËp hËu vÞ trÝ ®óng
b»ng víi träng sè cña c¸c mòi tªn t¬ng øng.

VÝ dô biÓu diÔn m« t¶ mét ho¹t ®éng hÖ thèng víi 2 h¹ng môc cÇn ®ång
bé gi÷a bé t¹o vµ bé sö dông.
75

H×nh 1-58: Ho¹t ®éng ®ång bé víi hai m¹ng môc


§Ó cã thÓ biÓu diÔn hÖ thèng mét c¸ch khoa häc vµ logic cÇn cã mét ®Þnh
nghÜa ®Çy ®ñ m« t¶ bëi m¹ng Petri.
 M¹ng ®iÒu kiÖn/ sù kiÖn

§Þnh nghÜa: N = (C, E, F) ®îc gäi lµ mét m¹ng nÕu vµ chØ nÕu nã tho¶
m·n c¸c thuéc tÝnh sau:

C vµ E lµ c¸c tËp ®éc lËp vµ C - E - -.

F - (E x C) - (C x E) lµ quan hÖ nhÞ ph©n vµ ®îc gäi lµ quan hÖ luång.

C ®îc gäi lµ c¸c ®iÒu kiÖn vµ E ®îc gäi lµ c¸c sù kiÖn.

§Þnh nghÜa: Cho mét m¹ng N vµ x - (C - E). • x := { y | yFx} ®îc gäi lµ


tËp c¸c ®iÒu kiÖn tríc cña x vµ x• := { y | xFy} ®îc gäi lµ ®iÒu kiÖn sau cña
x.

Hay nãi c¸ch kh¸c lµ mét ®iÒu kiÖn cÇn ph¶i ®îc tho¶ m·n ®Ó mét sù
kiÖn nµo ®ã x¶y ra th× ®îc gäi lµ ®iÒu kiÖn tríc vµ mét ®iÒu kiÖn ®îc tho¶
m·n sau khi mét sù kiÖn nµo ®ã x¶y ra th× ®îc gäi lµ ®iÒu kiÖn sau cña sù
kiÖn ®ã.

§Þnh nghÜa: Cho mét tËp (c, e) - C x E

(c, e) ®îc gäi lµ mét vßng lÆp nÕu cFe - eFc


76

M¹ng N ®îc gäi lµ thuÇn nhÊt nÕu F kh«ng chøa bÊt kú vßng lÆp nµo.

§Þnh nghÜa : Mét m¹ng ®îc gäi lµ ®¬n gi¶n nÕu kh«ng cã bÊt kú hai
chuyÓn ®æi t1, t2 nµo cã cïng tËp c¸c ®iÒu kiÖn tríc vµ c¸c ®iÒu kiÖn sau.

C¸c m¹ng mµ kh«ng chøa bÊt kú phÇn tö t¸ch biÖt nµo còng nh kh«ng
cã thªm bÊt kú mét h¹n chÕ nµo th× ®îc gäi lµ m¹ng ®iÒu kiÖn /sù kiÖn.
 M¹ng chuyÓn ®æi/vÞ trÝ

Trong c¸c m¹ng ®iÒu kiÖn/sù kiÖn chØ chøa nhiÒu nhÊt lµ mét token cho
mçi mét ®iÒu kiÖn. §Ó h¹n chÕ ®iÒu nµy tøc lµ mét ®iÒu kiÖn cã thÓ chøa
nhiÒu token vµ ngêi ta gäi lµ m¹ng chuyÓn ®æi/vÞ trÝ. C¸c vÞ trÝ t¬ng øng víi
c¸c ®iÒu kiÖn vµ c¸c chuyÓn ®æi t¬ng øng víi c¸c sù kiÖn trong m¹ng ®iÒu
kiÖn/sù kiÖn.

Sè lîng token cho mçi mét ®iÒu kiÖn ®îc gäi lµ Marking. VÒ mÆt to¸n
häc, Marking chÝnh lµ mét ¸nh x¹ to¸n häc cho phÐp chuyÓn mét tËp c¸c vÞ trÝ
vµo mét tËp c¸c sè tù nhiªn ®îc më réng bëi c¸c biÓu tîng ®Æc biÖt -.

VÝ dô : M« t¶ ch¬ng tr×nh ®iÒu khiÓn luång tµu ®iÖn b»ng m¹ng Petrinet
®iÒu kiÖn/sù kiÖn ®Ó tr¸nh trêng hîp xung ®ét trªn mét ®êng ray theo hai
híng tµu ch¹y.

H×nh 1-59: M« t¶ ®iÒu khiÓn luång tµu ®iÖn


C¸c ®iÒu kiÖn :

• Tµu muèn vµo ®êng ray theo chiÒu sang ph¶i.


77

• Tµu ®ang chuyÓn ®éng trªn ®êng ray theo chiÒu ph¶i.

• Tµu tho¸t ra khái ®êng ray theo chiÒu ph¶i.

• Tµu muèn vµo ®êng ray theo chiÒu sang tr¸i.

• Tµu ®ang chuyÓn ®éng trªn ®êng ray theo chiÒu tr¸i.

• Tµu tho¸t ra khái ®êng ray theo chiÒu tr¸i.

C¸c sù kiÖn :

• Tµu vµo ®êng ray tõ chiÒu bªn tr¸i

• Tµu rêi khái ®êng ray theo chiÒu ph¶i

• Tµu rêi ®êng ray

• Tµu vµo ®êng ray tõ chiÒu bªn ph¶i

• Tµu rêi khái ®êng ray theo chiÒu tr¸i

Token : §êng ray s½n sµng cho tµu vµo theo mét trong hai chiÒu

1.3.2.4. Ng«n ng÷ m« t¶ phÇn cøng (VHDL).

VHDL (Very High Speed Integrated Circuit Hardware Description


Lanuage) lµ mét ng«n ng÷ chung ®Ó m« t¶ c¸c thiÕt kÕ phÇn cøng ë møc phÇn
tö logic c¬ b¶n cÊu thµnh nªn hÖ thèng vµ ®· ®îc ph¸t triÓn bëi tæ chøc quèc
phßng Mü. Môc ®Ých chÝnh lµ ®Ó thuËn tiÖn cho viÖc trao ®æi d÷ liÖu thiÕt kÕ
phÇn cøng theo mét ®Þnh d¹ng chuÈn mµ mäi ngêi cã thÓ hiÓu vµ th«ng dÞch,
t¹o ®iÒu kiÖn thuËn lîi trong viÖc phèi hîp hay hîp t¸c trong c¸c dù ¸n thiÕt
kÕ. §Æc biÖt nã rÊt thuËn tiÖn trong viÖc chuyÓn ®æi hay tæng hîp biªn dÞch
thµnh mét d¹ng ng«n ng÷ thùc thi phÇn cøng thùc. §iÒu nµy rÊt khã thùc hiÖn
b»ng c¸c ng«n ng÷ bËc cao nh C nhng víi VHDL ®iÒu nµy chÝnh lµ u ®iÓm
næi bËt vµ lµ thÕ m¹nh trong viÖc m« h×nh ho¸ hÖ thèng, m« t¶ mét c¸ch chi
tiÕt c¸c phÇn tö cøng cÊu thµnh tham gia trong hÖ thèng.
78

VHDL lµ mét chuÈn IEEE (Std-1076) ®· ®îc sù hç trî bëi rÊt nhiÒu nhµ
cung cÊp ph¸t triÓn phÇn cøng. øng dông mét c¸ch chuyªn nghiÖp ng«n ng÷
nµy lµ phôc vô cho viÖc m« t¶ c¸c m¹ch ASICs phøc hîp, chÕ t¹o thùc thi c¸c
m¹ch FPGA...

Ng«n ng÷ VHDL cã thÓ ®äc hiÓu kh¸ dÔ dµng víi cÊu tróc có ph¸p râ
rµng gÇn gièng nh ng«n ng÷ Visual Basic vµ Pascal. Nã cã thÓ ph¸t huy ®îc
thÕ m¹nh vÒ có ph¸p ®Ó ®Þnh nghÜa x©y dùng kiÓu d÷ liÖu míi vµ hç trî cho
viÖc lËp tr×nh theo nhãm. Víi xu thÕ hiÖn nay c¸c nhãm ph¸t triÓn cã thÓ thùc
thi víi ®iÒu kiÖn c¸ch xa nhau vÒ kho¶ng c¸ch ®Þa lý, v× vËy viÖc phèi hîp vµ
thiÕt kÕ theo nhãm lµ rÊt cÇn thiÕt.
79

Ch¬ng 2. Vi m¹ch lËp tr×nh ®îc.


2.1. Giíi thiÖu chung vÒ FPGA vµ ng«n ng÷ VHDL.
2.1.1. Kh¸i niÖm vµ øng dông FPGA.

Kh¸i niÖm

FPGA (Field Programable Gate Arrays) lµ mét thiÕt bÞ b¸n dÉn bao gåm
c¸c khèi logic lËp tr×nh ®îc gäi lµ "Logic Block", vµ c¸c kÕt nèi kh¶ tr×nh.
C¸c khèi logic cã thÓ ®îc lËp tr×nh ®Ó thùc hiÖn c¸c chøc n¨ng cña c¸c khèi
logic c¬ b¶n nh AND, XOR, hoÆc c¸c chøc n¨ng kÕt hîp phøc t¹p h¬n nh
decoder hoÆc c¸c phÐp tÝnh to¸n häc. Trong hÇu hÕt c¸c kiÕn tróc FPGA, c¸c
khèi logic còng bao gåm c¶ c¸c phÇn tö nhí. §ã cã thÓ lµ c¸c Flip-Flop hoÆc
nh÷ng bé nhí hoµn chØnh h¬n. C¸c kÕt nèi kh¶ tr×nh cho phÐp c¸c khèi logic
cã thÓ nèi víi nhau theo thiÕt kÕ cña ngêi x©y dùng hÖ thèng, gièng nh mét
b¶ng m¹ch kh¶ tr×nh.

Mét kiÕn tróc kh¸c t¬ng tù nhng ®¬n gi¶n h¬n FPGA, lµ CPLD
(Complex Programable Logic Device). Thùc chÊt ®©y lµ tiÒn th©n cña FPGA.
N¨m 1984, Ross Freeman, mét ®ång s¸ng lËp cña Xilinx ®· ph¸t minh ra
FPGA. FPGA vµ CPLC ®Òu bao gåm mét sè lîng kh¸ lín c¸c phÇn tö logic
kh¶ tr×nh. MËt ®é cæng logic (Logic Gate) cña CPLD n»m trong kho¶n tõ vµi
ngh×n cho ®Õn 10 ngh×n cæng. Trong khi ®ã FPGA th«ng thêng chøa tõ 10
ngh×n cho ®Õn vµi triÖu cæng.

Kh¸c biÖt c¬ b¶n gi÷a FPGA vµ CPLD lµ ë kiÕn tróc cña chóng. CPLD
cã mét kiÕn tróc bÞ giíi h¹n trong mét hoÆc mét vµi d·y logic kh¶ tr×nh cïng
víi mét lîng nhá thanh ghi ®Þnh thêi. Do ®ã nã kÐm linh ho¹t h¬n, nhng l¹i
cã u ®iÓm lµ kh¶ n¨ng dù ®o¸n trÔ lín h¬n vµ tØ lÖ logic-kÕt nèi cao h¬n.
Ngîc l¹i, trong kiÕn tróc cña FPGA l¹i cã sù tréi h¬n vÒ sè lîng kÕt nèi.
§iÒu nµy lµm cho nã trë nªn linh ho¹t h¬n (vÒ sè lîng thiÕt kÕ ®îc thùc thi
bªn trong) nhng còng ®ång nghÜa víi viÖc phøc t¹p h¬n trong qu¸ tr×nh thiÕt
80

kÕ. Mét kh¸c biÖt ®¸ng chó ý n÷a gi÷a FPGA vµ CPLD lµ : hÇu hÕt c¸c FPGA
hiÖn nay ®Òu bao cã c¸c phÇn tö chøc n¨ng tÝch hîp cao h¬n (nh bé céng,
nh©n tÝch hîp), vµ bé nhí tÝch hîp.

Mét sè kiÕn tróc FPGA hiÖn nay cßn cã thÓ cho phÐp cÊu h×nh l¹i tõng
phÇn (partial re-configuration). Cã nghÜa lµ cho phÐp mét phÇn cña thiÕt kÕ
®îc cÊu h×nh l¹i trong khi nh÷ng thiÕt kÕ kh¸c vÉn tiÕp tôc ho¹t ®éng.

Mét u ®iÓm kh¸c cña FPGA, lµ ngêi thiÕt kÕ cã thÓ tÝch hîp vµo ®ã c¸c
bé xö lý mÒm (soft processor) hay vi xö lý tÝch hîp (embedded processor).
C¸c vi xö lý nµy cã thÓ ®îc thiÕt kÕ nh c¸c khèi logic th«ng thêng, mµ m·
nguån do c¸c h·ng cung cÊp, thùc thi c¸c lÖnh theo ch¬ng tr×nh ®îc n¹p
riªng biÖt, vµ cã c¸c ngo¹i vi ®îc thiÕt kÕ linh ®éng (khèi giao tiÕp UART,
vµo/ra ®a chøc n¨ng GPIO, ethernet...). C¸c vi xö lý nµy còng cã thÓ ®îc lËp
tr×nh l¹i (re -configurable computing) ngay trong khi ®ang ch¹y.

øng dông.

FPGA ®îc øng dông ®iÓn h×nh trong c¸c lÜnh vùc nh: xö lý tÝn hiÖu sè,
xö lý ¶nh, thÞ gi¸c m¸y, nhËn d¹ng giäng nãi, m· hãa, m« pháng
(emulation)... FPGA ®Æc biÖt m¹nh trong c¸c lÜnh vùc hoÆc øng dông mµ kiÕn
tróc cña nã yªu cÇu mét lîng rÊt lín xö lý song song, ®Æc biÖt lµ m· hãa vµ
gi¶i m·. FPGA còng ®îc sö dông trong nh÷ng øng dông cÇn thùc thi c¸c
thuËt to¸n nh FFT, nh©n chËp (convolution), thay thÕ cho vi xö lý.

HiÖn nay c«ng nghÖ FPGA ®ang ®îc s¶n xuÊt vµ hç trî phÇn mÒm bëi
c¸c h·ng nh :Xilinx, Altera, Actel, Atmel... Trong ®ã Xilinx vµ Altera lµ 2
h·ng hµng ®Çu. Xilinx cung cÊp phÇn mÒm miÔn phÝ trªn nÒn Windows,
Linux, trong khi Altera cung cÊp nh÷ng c«ng cô miÔn phÝ trªn nÒn Windows,
Linux vµ Solaris.
81

2.1.2. KiÕn tróc FPGA.


2.1.2.1. KiÕn tróc chung FPGA.

H×nh 2-1: KiÕn tróc chung cña FPGA


Mçi nhµ s¶n xuÊt FPGA cã riªng cÊu tróc FPGA, nhng nh×n chung cÊu
tróc ®îc thÓ hiÖn gièng nh trong h×nh bªn trªn. CÊu tróc FPGA bao gåm cã
configuration logic blocks (CLBs), configurable I/O blocks (IOB), vµ
programmable interconnect. Vµ tÊt nhiªn, chóng cã m¹ch clock ®Ó truyÒn tÝn
hiÖu clock tíi c¸c logic block, vµ thªm vµo ®ã cã c¸c logic resources nh
ALUs, memory vµ cã thÓ cã c¶ decoders. C¸c phÇn tö lËp tr×nh ®îc cña
FPGA cã 2 d¹ng c¬ b¶n lµ c¸c RAM tÜnh (Static RAM) vµ anti-fuses.
Configurable Logic Blocks (CLBs)
Configurable Logic Blocks (CLBs) bao gåm c¸c Look-Up Tables (LUTs)
rÊt linh ®éng cã chøc n¨ng thùc thi c¸c logic vµ c¸c phÇn tö nhí dïng nh lµ
c¸c flip-flop hoÆc c¸c chèt (latch). CLB thùc hiÖn phÇn lín c¸c chøc n¨ng
logic nh lµ lu tr÷ d÷ liÖu,..

H×nh 2-2: Mét logic Block ®iÓn h×nh


82

Configurable I/O Blocks


Input/Output Blocks (IOBs) ®iÒu khiÓn dßng d÷ liÖu gi÷a c¸c ch©n vµo ra
I/O vµ c¸c logic bªn trong cña FPGA. Nã bao gåm cã c¸c bé ®Öm vµo vµ ra
víi 3 tr¹ng th¸i vµ ®iÒu khiÓn ngâ ra d¹ng open collector. PhÇn lín lµ cã trë
kÐo lªn ë ngâ ra vµ thØnh tho¶ng l¹i cã trë kÐo xuèng. IOBs hç trî luång d÷
liÖu 2 chiÒu (bidirectional data flow) vµ ho¹t ®éng logic 3 tr¹ng th¸i (3 state).
Hç trî phÇn lín c¸c chuÈn tÝn hiÖu, bao gåm mét vµi chuÈn tèc ®é cao, nh
Double Data-Rate (DDR).

H×nh 2-3: Configurable Logic Blocks

Programmable Interconnect

Interconnect ë FPGA kh¸c xa so víi ë CPLD, tuy nhiªn l¹i gièng víi cña
gate array ASIC. Cã mét line dµi ®îc dïng ®Ó nèi c¸c CLBs quan träng mµ
chóng l¹i ë c¸ch xa nhau mµ kh«ng g©y ra qu¸ nhiÒu trÔ. Chóng cã thÓ ®îc
dïng nh lµ c¸c bus ë trong chip. Cã c¸c line ng¾n ®îc dïng ®Ó liªn kÕt c¸c
CLBs riªng rÏ nhng ®Æt gÇn nhau. Vµ còng thêng cã vµi ma trËn chuyÓn ®æi
(switch matrices), gièng nh trong CPLD, nèi gi÷a c¸c line dµi vµ ng¾n l¹i víi
nhau theo mét sè c¸ch ®Æc biÖt. C¸c chuyÓn ®æi lËp tr×nh ®îc (Programmable
switches) bªn trong chip cho phÐp kÕt nèi gi÷a CLBs tíi c¸c interconnect line
vµ gi÷a interconnect line víi c¸c line kh¸c vµ víi switch matrix. C¸c bé ®Öm 3
83

tr¹ng th¸i ®îc dïng ®Ó kÕt nèi phÇn lín c¸c CLBs víi c¸c line dµi (long line),
t¹o nªn c¸c bus. C¸c long line ®Æc biÖt, gäi lµ c¸c line clock toµn côc (global
clock lines), ®îc thiÕt kÕ ®Æc biÖt cho trë kh¸ng thÊp vµ nhê ®ã mµ thêi gian
lan truyÒn nhanh h¬n. Chóng ®îc kÕt nèi víi c¸c bé ®Öm clock vµ víi mçi
phÇn tö ®îc clock trong mçi CLB. §ã lµ c¸ch mµ clock cã thÓ ph©n phèi bªn
trong FPGA.

H×nh 2-4: Programmable Interconnect

M¹ch ®ång hå (Clock Circuitry)

C¸c khèi vµo ra víi bé ®Öm clock high drive gäi lµ c¸c clock driver,n»m
r¶i r¸c xung quanh chip. C¸c bé ®Öm nµy ®îc nèi víi c¸c ch©n clock vµo vµ
l¸i c¸c tÝn hiÖu clock vµo c¸c ®êng clock toµn côc (global clock line) nh m«
t¶ ë bªn trªn. C¸c ®êng clock ®îc thiÕt kÕ sao cho thêi gian thêi gian lÖch
nhá nhÊt vµ thêi gian lan truyÒn nhanh. ThiÕt kÕ ®ång bé lµ yªu cÇu b¾t buéc
víi FPGA, tõ khi ®é lÖch tuyÖt ®èi vµ trÔ kh«ng ®îc b¶o ®¶m. ChØ khi dïng
c¸c tÝn hiÖu clock tõ c¸c bé ®Öm clock th× thêi gian trÔ t¬ng ®èi vµ thêi gian
lÖch míi ®îc ®¶m b¶o.
84

2.1.2.2. So s¸nh gi÷a cÊu tróc nhá vµ cÊu tróc lín.

FPGA cã cÊu tróc nhá gièng nh c¸c m¶ng cæng cña hÖ ASIC víi c¸c
CLBs chØ bao gåm c¸c phÇn tö c¬ b¶n rÊt nhá nh c¸c cæng NAND, cæng
NOR,… C¸c nhµ lý luËn cho r»ng c¸c phÇn tö nhá cã thÓ nãi víi nhau t¹o lªn
c¸c chøc n¨ng lín h¬n mµ kh«ng tèn nhiÒu c¸c phÇn tö logic. Trong c¸c
FPGA cã cÊu tróc lín, c¸c CLB cã thÓ bao gåm 2 hoÆc nhiÒu flip-flop, c¸c
thiÕt kÕ mµ kh«ng cÇn nhiÒu flip-flop sÏ khiÕn cho nhiÒu flip-flop kh«ng ®îc
dïng ®Õn. TiÕc r»ng, c¸c cÊu tróc nhá l¹i yªu cÇu kh¸ nhiÒu nguån kÕt nèi
(routing resource), dÉn ®Õn t¨ng kh«ng gian vµ thªm vµo mét lîng lín trÔ mµ
kh«ng thÓ bï l¹i ®Ó cã hiÖu qu¶ h¬n.
2.1.2.3. So s¸nh gi÷a SDRAM Programming vµ Anti-fuse
programming

Cã 2 c¸ch ®Ó lËp tr×nh FPGA. C¸ch ®Çu tiªn lµ SDRAM Programming,


bao gåm mét vµi bit Static RAM cho mçi phÇn tö lËp tr×nh. Ghi mét bit víi gi¸
trÞ 0 sÏ ng¾t switch, trong khi ghi gi¸ trÞ 1 sÏ ®ãng switch. C¸ch cßn l¹i lµ anti-
fuse bao gåm c¸c cÊu tróc rÊt nhá, kh«ng gièng nh c¸c cÇu ch× th«ng thêng,
b×nh thêng chóng kh«ng t¹o ra mét kÕt nèi nµo c¶. Mét dßng ®iÖn cã cêng
®é nhÊt ®Þnh trong khi lËp tr×nh thiÕt bÞ sÏ dÉn ®Õn viÖc hai bªn cña anti-fuse
kÕt nèi víi nhau.

ThuËn lîi cña cÊu tróc FPGA dùa trªn SRAM lµ chóng dïng mét qu¸
tr×nh s¶n xuÊt chuÈn mµ ë ®ã c¸c kÕ ho¹ch s¶n xuÊt chip lµ gÇn nh gièng
nhau vµ lu«n lu«n ®îc tèi u cho kh¶ n¨ng ho¹t ®éng. Tõ khi mµ SRAM cã
thÓ lËp tr×nh l¹i ®îc th× FPGA cã thÓ lËp tr×nh l¹i bÊt cø khi nµo muèn, thËn
chÝ ngay c¶ khi chóng ®ang ë trong hÖ thèng, ®¬n gi¶n nh lµ ghi vµo SRAM
th«ng thêng. Chóng cã nhîc ®iÓm lµ vïng nhí volatile nªn mét vÊn ®Ò vÒ
nguån cã thÓ thay ®æi néi dung cña RAM. C¸c thiÕt bÞ dùa trªn SDRAM còng
cã thêi gian trÔ ®êng truyÒn lín.
85

ThuËn lîi cña cÊu tróc FPGA dùa trªn anti-fuse lµ chóng lµ non-volatile
vµ c¸c trÔ khi nèi d©y sÏ rÊt nhá v× thÕ nªn chóng cã khuynh híng nhanh
h¬n. Nhîc ®iÓm lµ chóng yªu cÇu mét bé lËp tr×nh bªn ngoµi ®Ó lËp tr×nh vµ
mçi khi lËp tr×nh xong th× kh«ng thÓ thay ®æi ®îc.
2.1.2.4. CÊu tróc FPGA cña Spartan 3

CÊu tróc FPGA cña Spartan 3

CÊu tróc tæng quan cña Spartan 3 gåm cã 5 thµnh phÇn cã chøc n¨ng kh¶
tr×nh c¬ b¶n sau:

• Configurable Logic Blocks (CLBs) bao gåm c¸c Look-Up Tables


(LUTs) rÊt linh ®éng cã chøc n¨ng thùc thi c¸c logic vµ c¸c phÇn tö nhí dïng
nh lµ c¸c flip-flop hoÆc c¸c chèt (latch). CLB thùc hiÖn phÇn lín c¸c chøc
n¨ng logic nh lµ lu tr÷ d÷ liÖu,..

• Input/Output Blocks (IOBs) ®iÒu khiÓn dßng d÷ liÖu gi÷a c¸c ch©n vµo
ra I/O vµ c¸c logic bªn trong cña FPGA. IOBs hç trî luång d÷ liÖu 2 chiÒu
(bidirectional data flow) vµ ho¹t ®éng logic 3 tr¹ng th¸i (3 state). Hç trî phÇn
lín c¸c chuÈn tÝn hiÖu, bao gåm mét vµi chuÈn tèc ®é cao, nh Double Data-
Rate (DDR).

• Block RAM cho phÐp lu tr÷ d÷ liÖu díi d¹ng c¸c khèi (block) dual-
port 18-Kbit.

• Multiplier Blocks cho phÐp 2 sè nhÞ ph©n 18bit lµm ®Çu vµo vµ dÔ dµng
tÝnh to¸n tÝch cña chóng.

• Digital Clock Manager (DCM) Blocks cung cÊp kh¶ n¨ng tù x¸c ®Þnh
xung clock, lµ gi¶i ph¸p sè hoµn chØnh cho c¸c tÝn hiÖu clock ph©n phèi, trÔ,
nh©n, chia vµ dÞch bit.

C¸c phÇn tö nµy ®îc tæ chøc nh trong h×nh 2-5:


86

H×nh 2-5: CÊu tróc c¸c thµnh phÇn cña Spartan 3A

Tõ h×nh vÏ ta thÊy, c¸c IOBs bao quanh c¸c m¶ng CLBs, riªng Spartan-
3E chØ cã mét vßng c¸c IOBs. Mçi cét block RAM bao gåm mét vµi block
RAM 18-Kbit, mçi block RAM l¹i g¾n liÒn víi mét multiplier dµnh riªng.
C¸c DCM ®îc ®Æt ë c¸c vÞ trÝ: 2 DCM phÝa trªn vµ 2 c¸i phÝa díi cña thiÕt
bÞ, vµ ®èi víi c¸c device lín h¬n th× cã thªm c¸c DCM ë phÝa bªn c¹nh.

§Æc ®iÓm chung m¹ng Spartan-3 lµ kÕt nèi liªn th«ng gi÷a 5 phÇn tö c¬
b¶n nµy, vµ truyÒn tÝn hiÖu gi÷a chóng. Mçi thµnh phÇn chøc n¨ng nµy cã mét
switch matrix dµnh riªng ®Ó cho phÐp chän lùa kÕt nèi cho viÖc ®i d©y trong
FPGA.

2.1.3. Tr×nh tù thiÕt kÕ mét chip

Tr×nh tù thiÕt kÕ mét hÖ thèng trªn nÒn FPGA bao gåm c¸c bíc thÓ hiÖn
nh trªn h×nh 2-6.

Ghi c¸c ®Æc ®iÓm kÜ thuËt

TÇm quan träng cña c¸c ®Æc ®iÓm kÜ thuËt (specification) kh«ng thÓ
phãng ®¹i qu¸. Nã chØ tuyÖt ®èi cÇn ®Æc biÖt khi lµ mét híng dÉn ®Ó chän
c«ng nghÖ phï hîp vµ t¹o nh÷ng yªu cÇu cña b¹n cho c¸c nhµ s¶n xuÊt chip.
87

Vµ c¸c ®Æc ®iÓm kÜ thuËt cho phÐp mçi kÜ s hiÓu vÒ thiÕt kÕ hÖ thèng chung
vµ c«ng viÖc cña hä trong hÖ thèng ®ã lµ g×. Vµ nã còng cho phÐp c¸c kÜ s
thiÕt kÕ giao diÖn ®óng cho mét lo¹t c¸c phÇn cña chip. C¸c ®Æc ®iÓm kÜ thuËt
còng gióp tiÕt kiÖm thêi gian vµ sù hiÓu lÇm. SÏ kh«ng lµm g× ®îc nÕu kh«ng
cã c¸c b¶ng ghi c¸c ®Æc ®iÓm kÜ thuËt.

H×nh 2-6: Tr×nh tù thiÕt kÕ hÖ thèng trªn nÒn FPGA

Chi tiÕt kÜ thuËt nªn bao gåm c¸c th«ng tin sau ®©y:
• S¬ ®å khèi bªn ngoµi ®Ó chØ ra chip ®ã ®îc ®Æt vµo trong hÖ
thèng nh thÕ nµo.
• S¬ ®å khèi bªn trong chØ râ mçi chøc n¨ng cña c¸c thµnh phÇn.
• Miªu t¶ c¸c ch©n vµo ra bao gåm kh¶ n¨ng l¸i ®Çu ra, møc
ngìng ®Çu vµo.
• Thêi gian íc lîng bao gåm thêi gian thiÕt lËp vµ gi÷ ë c¸c ch©n
vµo, thêi gian lan truyÒn ra c¸c cæng ra vµ thêi gian chu k× clock.
• §Õm xÊp xØ sè gate
• D¹ng ®ãng gãi
• Tiªu thô nguån
88

• Gi¸ c¶
• C¸c thñ tôc ®Ó kiÓm tra

Mét ®iÒu rÊt quan träng n÷a lµ ®ã lµ c¸c tµi liÖu trùc tuyÕn. RÊt nhiÒu
phÇn sÏ ®îc dù ®o¸n tèt nhÊt ë trong ®ã, nhng sÏ thay ®æi trong qu¸ tr×nh
chip ®îc thiÕt kÕ.

Chän c«ng nghÖ

Mçi khi mét chi tiÕt miªu t¶ kÜ thuËt ®îc xuÊt b¶n, nã cã thÓ ®îc dïng
®Ó chän nhµ s¶n xuÊt chip tèt nhÊt víi c«ng nghÖ vµ cÊu tróc gi¸ c¶ lµ tèt nhÊt
®¸p øng ®îc yªu cÇu cña b¹n.

Chän mét híng tiÕp cËn thiÕt kÕ

T¹i thêi ®iÓm nµy b¹n ph¶i quyÕt ®Þnh c¸ch thùc hiÖn thiÕt kÕ mµ b¹n
mong muèn. §èi víi c¸c chip nhá th× c¸ch tiÕp cËn b»ng s¬ ®å nguyªn lý
(schematic) thêng ®îc chän, ®Æc biÖt lµ khi c¸c kÜ s thiÕt kÕ ®· quen thuéc
víi c¸c c«ng cô nµy. ThÕ nhng ®èi víi c¸c thiÕt kÕ lín h¬n, ng«n ng÷ miªu t¶
phÇn cøng (hardware description language) HDL nh Verilog vµ VHDL ®îc
dïng bëi kh¶ n¨ng mÒm dÎo, dÔ ®äc, dÔ chuyÓn giao. Khi dïng ng«n ng÷ cÊp
cao, phÇn mÒm tæng hîp (synthesis software) sÏ ®îc yªu cÇu tæng hîp
(synthesize) thiÕt kÕ. Cã nghÜa r»ng phÇn mÒm nµy sÏ t¹o ra c¸c cæng ë cÊp
thÊp tõ miªu t¶ ë cÊp cao h¬n.

Chän c«ng cô tæng hîp

T¹i ®iÓm nµy, b¹n ph¶i quyÕt ®Þnh chän phÇn mÒm tæng hîp nµo sÏ ®îc
dïng nÕu b¹n cã kÕ ho¹ch thiÕt kÕ FPGA víi HDL. §iÒu ®ã rÊt quan träng kÓ
tõ khi mçi c«ng cô tæng hîp ®îc khuyªn dïng vµ sù ñy th¸c cña c¸ch thiÕt kÕ
phÇn cøng nªn nã cã thÓ ho¹t ®éng tæng hîp ®óng h¬n.
89

ThiÕt kÕ chip

Cã mét sè c¸ch ®Ó thiÕt kÕ chip

• Top-down design (ThiÕt kÕ tõ trªn xuèng díi)

• Macros

• Synchronous design

• Protect against metastability

• Avoid floating nodes

• Avoid bus contention

M« pháng – c¸i nh×n tæng quan vÒ thiÕt kÕ

M« pháng lµ mét qu¸ tr×nh liªn tôc khi mµ thiÕt kÕ xong. Tõng phÇn nhá
cña thiÕt kÕ nªn ®îc m« pháng tríc khi kÕt hîp chóng thµnh c¸c phÇn lín
h¬n. §iÒu nµy rÊt lµ cÇn thiÕt vµ sù m« pháng theo thø tù sÏ kiÓm tra chøc
n¨ng ho¹t ®éng ®óng cña tõng phÇn.

Mçi khi thiÕt kÕ vµ m« pháng hoµn thµnh, dÉn ®Õn mét c¸i nh×n tæng
quan kh¸c vÒ thiÕt kÕ v× thÕ thiÕt kÕ cã thÓ ®îc kiÓm tra l¹i. ThËt lµ quan
träng ®Ó nhËn c¸c kÕt qu¶ kh¸c cho phÐp nh×n qua c¸c m« pháng vµ ch¾c
ch¾n r»ng

kh«ng cã ®iÒu g× bÞ quªn vµ kh«ng sù tæn hao nµo gÆp ph¶i. §ã lµ mét
trong nh÷ng kh¸i qu¸t quan träng nhÊt bëi v× khi m« pháng ®óng vµ thµnh
c«ng th× b¹n sÏ biÕt ®îc chip cña b¹n sÏ ho¹t ®éng ®óng trong hÖ thèng.

Tæng hîp

NÕu thiÕt kÕ dïng HDL, bíc tiÕp theo lµ tæng hîp chip, bao gåm viÖc
dïng phÇn mÒm tæng hîp ®Ó chuyÓn ®æi thËt tèi u tõ thiÕt kÕ møc RTL
(register transfer level) sang thiÕt kÕ møc gate mµ cã thÓ g¾n vµo c¸c khèi
logic trong FPGA.
90

Place and Route

Bíc tiÕp theo lµ s¾p ®Æt chip, kÕt qu¶ trong viÖc thiÕt kÕ vËt lý cho chip
thùc. §iÒu nµy bao gåm c¸c c«ng cô cña nhµ s¶n xuÊt ®Î tèi u lËp tr×nh cho
chip ®Ó thùc hiÖn thiÕt kÕ. Sau ®ã, thiÕt kÕ ®îc lËp tr×nh vµo cho chip.

M« pháng l¹i – tæng quan cuèi cïng

Sau khi s¾p ®Æt xong, th× chip ph¶i ®îc m« pháng l¹i víi c¸c con sè vÒ
thêi gian t¹o ra bëi c¸c layout thùc tÕ. NÕu mäi thø ®Òu tèt ®Õn thêi ®iÓm nµy,
th× mét kÕt qu¶ m« pháng míi sÏ ®óng víi c¸c kÕt qu¶ dù ®o¸n.

KiÓm tra

§èi víi c¸c thiÕt bÞ lËp tr×nh ®îc, ®¬n gi¶n lµ lËp tr×nh thiÕt bÞ ®ã vµ
ngay lËp tøc cã mÉu thö. Sau ®ã b¹n cã tr¸ch nhiÖm ®Æt mÊu thö nµy vµo trong
hÖ thèng vµ xem hÖ thèng cã lµm viÖc ®óng kh«ng. NÕu b¹n lµm lÇn lît c¸c
bíc ë bªn trªn th× ®a phÇn lµ hÖ thèng sÏ ho¹t ®éng ®óng chØ víi mét vµi lçi
rÊt nhá. C¸c lçi nµy thêng ®îc lµm viÖc xung quanh víi viÖc thay ®æi hÖ
thèng vµ thay ®æi phÇn mÒm hÖ thèng. C¸c lçi nµy cÇn ®îc kiÓm tra vµ trÝch
dÉn l¹i ®Ó cã thÓ ®îc söa ch÷a trong phiªn b¶n tiÕp theo cña chip. KiÓm tra
hÖ thèng nhóng lµ cÇn thiÕt t¹i thêi ®iÓm nµy ®Ó ®a ra kÕt qu¶ r»ng mäi phÇn
cña hÖ thèng ®Òu ho¹t ®éng ®óng khi kÕt hîp víi nhau.

Khi c¸c chÝp ®îc ®a vµo s¶n xuÊt, rÊt cÇn thiÕt cã mét vµi kiÓm tra ®Ó
cã mét vµi kiÓm tra burn-in trong hÖ thèng ®Ó test thêng xuyªn hÖ thèng qua
thêi gian dµi. NÕu mét chip ®îc thiÕt kÕ ®óng, th× nã chØ bÞ háng khi lçi ®iÖn
häc hoÆc lçi c¬ häc sÏ thêng xuyªn x¶y ra víi lo¹i kiÓm tra kh¾c nghiÖt nµy.

2.1.4. Ng«n ng÷ m« t¶ phÇn cøng VHDL

VHDL lµ mét ng«n ng÷ m« t¶ phÇn cøng (hardware description


language), m« t¶ hµnh vi cña m¹ch ®iÖn hoÆc hÖ thèng, tõ ®ã m¹ch ®iÖn vËt lý
ho¨c hÖ thèng cã thÓ ®îc thùc thi.
91

VHDL lµ viÕt t¾t cña VHSIC Hardware Description Language. B¶n th©n
VHSIC lµ viÕt t¾t cña Very High Speed Integrated Circuits (m¹ch tÝch hîp tèc
®é cao), lÇn ®Çu tiªn ®îc s¸ng lËp bëi United State Department of Defense
trong nh÷ng n¨m 80, sau ®ã t¹o ra VHDL. Phiªn b¶n ®Çu tiªn lµ VHDL 87,
lÇn n©ng cÊp sau ®ã cã tªn lµ VHDL 93. VHDL lµ ng«n ng÷ m« t¶ phÇn cøng
nguyªn gèc ®Çu tiªn ®îc chuÈn hãa bëi Institue of Electrical and Electronics
Engineers (IEEE), tíi chuÈn IEEE 1076. Trong IEEE 1164, cã mét chuÈn
®îc thªm vµo lµ giíi thiÖu hÖ thèng logic ®a gi¸ trÞ (multi-valued logic
system).

§éng c¬ thóc ®Èy c¬ b¶n khi dïng VHDL (hay dïng Verilog) lµ VHDL
lµ mét ng«n ng÷ ®éc lËp chuÈn cña c¸c nhµ c«ng nghÖ, c¸c nhµ ph©n phèi do
®ã chóng cã kh¶ n¨ng portable vµ kÕ thõa cao (reusable). Hai øng dông trùc
tiÕp chÝnh cña VHDL lµ trong m¶ng c¸c thiÕt bÞ logic lËp tr×nh ®îc
(Programmable Logic Devices) (bao gåm CPLDs – Complex Programmable
Logic Devices vµ FPGAs – Field Programmable Gate Arrays). Mçi khi m·
nguån VHDL ®îc viÕt, chóng cã thÓ ®îc dïng ®Ó thùc thi m¹ch ®iÖn trong
c¸c thiÕt bÞ lËp tr×nh ®îc (tõ Altera, Xilinx, Almel,..) hoÆc cã thÓ göi ®Õn c¸c
xëng chÕ t¹o c¸c chÝp ASIC. HiÖn nµy, rÊt nhiÒu c¸c chip th¬ng m¹i phøc
t¹p (vÝ dô nh c¸c microcontrollers) ®îc thiÕt kÕ dùa trªn c¸ch tiÕp cËn nµy.

Mét ®iÒu chó ý vÒ VHDL lµ tr¸i ngîc víi c¸c ch¬ng tr×nh m¸y tÝnh
th«ng thêng ®îc thùc hiÖn tuÇn tù th× c¸c c©u lÖnh ®îc thùc hiÖn song song
(concurrent). V× lÝ do ®ã, nªn VHDL thêng ®îc coi lµ mét m· nguån h¬n lµ
mét ch¬ng tr×nh. Trong VHDL chØ cã c¸c c©u lÖnh ®Æt trong PROCESS,
FUNCTION, hay PROCEDURE ®îc thùc thi tuÇn tù.

Tr×nh tù thiÕt kÕ mét chÝp dùa trªn VHDL

Mét trong nh÷ng tiÖn Ých lín cña VHDL lµ cho phÐp tæng hîp m¹ch ®iÖn
hoÆc hÖ thèng trong thiÕt bÞ kh¶ lËp tr×nh (programmable devide) (PLD hoÆc
92

FPGA) hoÆc trong mét hÖ ASIC. C¸c bíc thùc hiÖn mét project ®îc tæng
kÕt nh trong h×nh díi:

H×nh 2-7: Quy tr×nh thiÕt kÕ Chip dùa trªn VHDL

Chóng ta b¾t ®Çu thiÕt kÕ b»ng c¸ch viÕt m· VHDL, ®îc ghi trong c¸c
file víi ®u«i më réng .vhd vµ tªn gièng nh tªn cña ENTITY (thùc thÓ). Bíc
®Çu tiªn trong qu¸ tr×nh synthesis lµ biªn dÞch. Biªn dÞch lµ mét qu¸ tr×nh
chuyÓn ®æi gi÷a ng«n ng÷ VHDL bËc cao t¹i Register Transfer Level (RTL)
sang netlist ë møc gate level. Bíc thø 2 lµ tèi u thùc hiÖn trªn gate level net
list tèi u vÒ tèc ®é hoÆc cho diÖn tÝch. Cuèi cïng lµ m«t phÇn mÒm place and
route sÏ t¹o ra mét physical layout cho c¸c chÝp PLD/FPGA hoÆc t¹o ra c¸c
mÆt n¹ cho mét hÖ ASIC.

2.2. Giíi thiÖu KIT FPGA cña mét sè h·ng.


2.2.1. Giíi thiÖu m¹ch ph¸t triÓn XST 3S 1000 cña h·ng XESS

Trang chñ cña XESS Corp. : http://www.xess.com

X Engineering Software Systems Corporation (XESS) lµ c«ng ty t¹i phÝa


B¾c Carolina (Mü) ®îc thµnh lËp tõ n¨m 1990. XESS Corp. ®a ra nh÷ng
c«ng cô ph¸t triÓn logic lËp tr×nh ®îc víi gi¸ ph¶i ch¨ng vµ c¸c híng dÉn
93

cho ngêi dïng ®îc viÕt bëi c¸c kÜ s, c¸c nhµ nghiªn cøu, nhµ thiÕt kÕ vµ
ngay c¶ cña sinh viªn.

XESS giíi thiÖu 2 board chuyªn dïng cho xö lý ¶nh vµ audio:


2.2.1.1. XSA-3S1000

H×nh 2-8: KIT XSA-3S1000

KIT FPGA nµy bao gåm cã 32 Mbyte DRAM ®ång bé vµ 2 Mbyte Flash
®Ó x©y dùng hÖ thèng vi ®iÒu khiÓn RISC hoµn thiÖn dùa trªn phÇn mÒm (soft-
core).

Cã thÓ cã tíi 4 bitstream ®îc lu tr÷ trong Flash vµ ta cã thÓ dïng
switch ®Ó lùa chän bitstream nµo ®îc cÊu h×nh cho FPGA khi ¸p ®Æt nguån
®iÖn vµo KIT. HoÆc chóng ta cã thÓ download trùc tiÕp vµo FPGA nhê cæng
song song (parallel port) dïng c«ng cô XSTOOLS (trong bé c«ng cô cña
XESS). Giao diÖn CPLD trªn XSA-3S1000 còng hç trî download dïng
XILINX iMPACT vµ circuit test/debug víi ChipScope dïng c¸p download
song song cña Xilinx. Bæ sung thªm vµo c¸c chip FPGA, SDRAM vµ Flash,
cã thªm cæng VGA cã thÓ hiÓn thÞ ®å häa víi 512 mµu. Thªm vµo ®ã, cßn cã
thªm prototyping header ®a cho ta 65 ch©n I/O ®Ó x©y dùng c¸c giao diÖn víi
c¸c ngo¹i vi kh¸c.
94

H×nh 2-9: S¬ ®å cÊu tróc cña XSA-3S1000


2.2.1.2. XST-3.0 (XStend Board)

H×nh 2-10: KIT XST – 3.0


Xstend Board lµ m¹ch hç trî cho XSA Board cã thÓ truy nhËp qua giao
diÖn prototype. Bo m¹ch nµy më réng kh¶ n¨ng cña XSA Board trªn mét sè
mÆt:

• C¸c pushbuttons, DIP switches, LEDs, vµ protopying area rÊt cã Ých cho
c¸c thÝ nghiÖm ë phßng Lab.

• M¹ch stereo vµ dual-chanel analog I/O dïng cho xö lý ©m thanh kÕt


hîp víi c¸c thµnh phÇn DSP ®îc synthesize víi phÇn mÒm CORE generation
cña Xilinx.
95

• Video decoder (bé gi¶i m· video) cho phÐp sè hãa c¸c video d¹ng
NTSC/PAL/SECAM trong c¸c øng dông xö lý ¶nh.

• Giao diÖn Ethernet 10/100 lµm cho XSA Board cã kh¶ n¨ng truy nhËp
TCP/IP vµ c¸c d¹ng m¹ng kh¸c.

• Giao diÖn USB 1.1 lµm cho XSA Board nh mét ngo¹i vi USB d¹ng
low-peed hoÆc full-speed víi PC.

• Giao diÖn RS-232 rÊt h÷u Ých khi XSA Board cÇn ph¶i göi th«ng tin qua
liªn kÕt giao tiÕp næi tiÕp víi tèc ®é thÊp.

• Giao diÖn IDE cung cÊp cho XSA Board kh¶ n¨ng truy cËp vµo æ ®Üa
cøng (hard disk) ®Ó lu vµ phôc håi d÷ liÖu.

• C¸c module víi chøc n¨ng kh¸c cã thÓ thªm vµo trong XST Board nhê
c¸c doughterboard connector.

Nh vËy, kÕt hîp gi÷a XSA-3S1000 vµ XST-3.0 cho ta mét Board øng
dông xö lý video rÊt hiÖu qu¶.

H×nh 2-11: KÕt hîp XSA-3S1000 vµ XST-3.0


Hç trî kÜ thuËt: XESS cã mét group xsboard-user lµ mét mailing list, gi¶i
®¸p mäi th¾c m¾c vÒ thiÕt kÕ phÇn cøng vµ hÖ thèng phÇn mÒm khi dïng bo
96

m¹ch logic kh¶ tr×nh cña XESS Corp. Ngoµi ra, c¸c phÇn mÒm vµ module ph¸t
triÓn kh¸ ®Çy ®ñ.

2.2.2. Giíi thiÖu Board DE2 cña Altera

2.2.2.1. Giíi thiÖu.

Board DE2 lµ board m¹ch phôc vô cho viÖc nghiªn cøu vµ ph¸t triÓn vÒ
c¸c lÜnh vùc luËn lý sè häc (digital logic), tæ chøc m¸y tÝnh (computer
organization) vµ FPGA.

H×nh 2-12: KIT DE2

2.2.2.2. Thµnh phÇn.

Board DE2 cung cÊp kh¸ nhiÒu tÝnh n¨ng hç trî cho viÖc nghiªn cøu vµ
ph¸t triÓn, díi ®©y lµ th«ng tin chi tiÕt cña mét board DE2:
97

 FPGA:
 Vi m¹ch FPGA Altera Cyclone II 2C35.
 Vi m¹ch Altera Serial Configuration – EPCS16.
 C¸c thiÕt bÞ xuÊt nhËp:
 USB Blaster cho lËp tr×nh vµ ®iÓu khiÓn API cña ngêi dung; hç
trî c¶ 2 chÕ ®é lËp tr×nh JTAG vµ AS.
 Bé ®iÒu khiÓn Cæng 10/100 Ethernet.
 Cæng VGA-out.
 Bé gi¶i m· TV vµ cæng nèi TV-in.
 Bé ®iÒu khiÓn USB Host/Slave víi cæng USB kiÓu A vµ kiÓu B.
 Cæng nèi PS/2 chuét/bµn phÝm.
 Bé gi¶i m·/m· hãa ©m thanh 24-bit chÊt lîng ®Üa quang víi jack
c¾m line-in, line-out, vµ microphone.
 2 Header më réng 40-pin víi líp b¶o vÖ diode.
 Cæng giao tiÕp RS-232 vµ cæng nèi 9-pin.
 Cæng giao tiÕp hång ngo¹i.
 Bé nhí:
 SRAM 512-Kbyte.
 SDRAM 8-Mbyte.
 Bé nhí cùc nhanh 4-Mbyte (1 sè m¹ch lµ 1-Mbyte).
 Khe SD card.
 Switch, c¸c ®Ìn led, LCD, xung clock
 4 nót nhÊn, 18 nót g¹t.
 18 LED ®á, 9 LED xanh, 8 Led 7 ®o¹n
 LCD 16x2
 Bé dao ®éng 50-MHz vµ 27-MHz cho ®ång hå nguån.
98

2.2.2.3. Mét vµi øng dông.


 øng dông lµm TV box

H×nh 2-13: øng dông DE2 lµm TV Box

 Ch¬ng tr×nh vÏ b»ng chuét USB (paintbrush)

H×nh 2-14: øng dông DE2 lµm chuét USB (PaintBrush)


99

 M¸y h¸t Karaoke vµ m¸y ch¬i nh¹c SD

H×nh 2-15: øng dông DE2 m¸y karaoke vµ ch¬i nh¹c tõ card SD
100

Ch¬ng 3. M« h×nh ng«i nhµ th«ng minh.


3.1. Giíi thiÖu chung.
3.1.1. T×nh h×nh nghiªn cøu trªn thÕ giíi.

X· héi ngµy cµng ph¸t triÓn, nhu cÇu cña con ngêi ngµy cµng lín. Ngoµi
nhu cÇu vÒ sinh ho¹t, con ngêi ®ang híng ®Õn sö dông c¸c thiÕt bÞ hiÖn ®¹i,
c«ng nghÖ cao, th«ng minh lµm cho cuéc sèng phong phó h¬n. N¾m b¾t ®îc
nhu cÇu ®ã cña con ngêi, c¸c nhµ s¶n xuÊt ®· vµ ®ang nghiªn cøu, chÕ t¹o ra
c¸c s¶n phÈm míi th«ng minh vµ h÷u Ých cho cuéc sèng. Dï chóng ta cã ®i
®©u, lµm g× th× còng cÇn mét ng«i nhµ ®Ó ë, sinh ho¹t. Cuéc sèng cña chóng ta
sÏ trë lªn hoµn h¶o h¬n nÕu nh chóng ta ®îc së h÷u mét ng«i nhµ th«ng
minh. ë c¸c níc ph¸t triÓn, nhµ th«ng minh trë lªn phæ biÕn, tïy vµo gi¸
thµnh mµ nhµ s¶n xuÊt cã thÓ l¾p ghÐp sè lîng c¸c thiÕt bÞ trong nhµ. Mçi
nhµ s¶n xuÊt ®a ra kh¸i niÖm vÒ mét hÖ thèng nhµ th«ng minh theo tiªu
chuÈn cña riªng m×nh, ®ång thêi x©y dùng vµ ph¸t triÓn gi¶i ph¸p hÖ thèng
nhµ th«ng minh theo kh¸i niÖm nµy. Theo tiªu chuÈn cña I-Solutions th× “Mét
hÖ thèng nhµ th«ng minh ph¶i g¾n kÕt ®îc c¸c hÖ thèng an ninh - an toµn,
chiÕu s¸ng, ®iÒu khiÓn nhiÖt ®é - qu¶n lý n¨ng lîng, hÖ thèng ©m thanh,
video – camera gi¸m s¸t, Intercom – chu«ng cöa cã h×nh, rÌm tù ®éng, b¬m
bÓ b¬i, b¬m tíi, vµ c¸c hÖ thèng kh¸c theo yªu cÇu. C¸c hÖ thèng nµy cã thÓ
giao tiÕp vµ ho¹t ®éng t¬ng t¸c víi nhau ®Ó t¹o ra mét hÖ thèng ®iÒu khiÓn
thèng nhÊt”. Mét hÖ thèng nhµ th«ng minh cã thÓ chØ bao gåm mét vµi hÖ
thèng hoÆc tÊt c¶ c¸c hÖ thèng trªn.

Trong mét ng«i nhµ th«ng minh, c¸c hÖ thèng ho¹t ®éng t¬ng t¸c víi
nhau gióp ng«i nhµ trë nªn hiÖn ®¹i, tiÖn nghi vµ an toµn h¬n. HÖ thèng nhµ
th«ng minh ph¶i ®¶m b¶o c¸c thiÕt bÞ vÉn cã tÝnh n¨ng cña c¸c thiÕt bÞ th«ng
thêng.
101

HÖ thèng ®iÒu khiÓn trung t©m cã thÓ ®iÒu khiÓn c¸c thiÕt bÞ mét c¸ch tù
®éng dùa trªn sù kiªn hÖ thèng. C¸c ch¬ng tr×nh tù ®éng ®îc lËp tr×nh cho
tõng kh¸ch hµng ®Ó t¹o ra tÝnh n¨ng mong muèn. C¸c tÝnh n¨ng thêng cã ë
c¸c ng«i nhµ th«ng minh: Tù ®éng bËt ®Ìn s©n vêng khi mÆt trêi lÆn vµ tù
®éng t¾t vµo lóc nöa ®ªm, tù ®éng bËt ®Ìn khi gia chñ vµo nhµ nÕu trêi tèi vµ
®Ìn cha bËt.

Khi hÖ thèng an ninh ë chÕ ®é “§i Xa” th× hÖ thèng sÏ tù ®éng t¾t toµn
bé ®Ìn trong nhµ, t¾t hÖ thèng ®iÒu hßa vµ thiÕt bÞ ®iÖn, t¾t hÖ thèng ©m thanh
trong tÊt c¶ c¸c phßng. Tù ®éng t¾t loa s©n vên vµo 10 giê tèi hµng ngµy. Tù
®éng bËt ®Ìn hµnh lanh, cÇu thang khi cã ngêi vµ trong ®iÒu kiÖn m«i trêng
thiÕt ¸nh s¸ng vµ tù ®éng t¾t sau 30 gi©y khi ngêi ra khái khu vùc cÇn chiÕu
s¸ng.

BiÖt thù Th¸i B×nh D¬ng cña Bill Gates, ®îc mÖnh danh lµ “ng«i nhµ
th«ng minh” ®Çu tiªn trong lÞch sö loµi ngêi c¶ vÒ nghÜa ®en lÉn nghÜa bãng,
do cã nh÷ng hÖ thèng trang thiÕt bÞ ®iÖn tö tinh vi, hiÖn ®¹i vµ phøc t¹p ®îc
bè trÝ ë néi thÊt bªn trong. BiÖt thù th«ng minh nµy lµ mét trong nh÷ng ®iÓm
®Õn quan träng mµ nh÷ng ngêi næi tiÕng, kÓ c¶ nguyªn thñ quèc gia, ®Òu
khao kh¸t ®îc tíi.

HiÖn nay trªn thÕ giíi ®ang ph¸t triÓn “Ng«i nhµ th«ng minh ®iÒu khiÓn
b»ng ý nghÜ ”. §©y lµ mét hÖ thèng kh¸ míi mÎ vµ ®ang ®îc nghiªn cøu vµ
ph¸t triÓn. Nhng tiÒm n¨ng vµ ph¹m vi øng dông l¹i rÊt lín. Víi hÖ thèng
nµy, khi ta ®a tay lªn bËt ®Ìn, ®iÒu khiÓn ti vi, lÊy ch×a khãa më cöa…tÊt c¶
nh÷ng viÖc ®ã sÏ trë thµnh qu¸ khø khi c«ng nghÖ giao diÖn m¸y tÝnh-n·o
®ang ®îc thö nghiÖm ë ch©u ¢u cho phÐp ngêi tiªu dïng thùc hiÖn mäi viÖc
hoµn toµn nhê sù suy nghÜ.

C«ng nghÖ nµy ®· ®îc tr×nh diÔn t¹i CeBIT ë Hannover vµo th¸ng ba
cung cÊp mét ph¬ng c¸ch míi ®Ó ®iÒu khiÓn c¸c thiÕt bÞ ®iÖn tö kÕt nèi víi
102

nhau chØ th«ng qua sù suy nghÜ trong ®Çu ãc cña “chñ nhµ”. C«ng nghÖ Êy lµ
c¬ së ®Ó thiÕt kÕ c¸c ng«i nhµ th«ng minh trong t¬ng lai, gióp nh÷ng ngêi
tµn tËt chñ ®éng trong cuéc sèng cña m×nh. Nã gióp chóng ta cã thÓ bËt ®Ìn,
chuyÓn kªnh chiÕc v« tuyÕn, më ®ãng cöa b»ng mét ®éng t¸c cùc kú ®¬n gi¶n:
chØ cÇn nghÜ vÒ ®iÒu m×nh cÇn lµm lµ ®ñ. C¸c thiÕt bÞ ghi ®iÖn n·o ®îc dïng
®Ó kiÓm tra ho¹t ®éng ®iÖn nµo cña ngêi sö dông th«ng qua rÊt nhiÒu ®iÖn
cùc g¾n trªn chiÕc mò ®éi ®Çu. Sau mét thêi gian huÊn luyÖn, hÖ thèng nµy ®·
nhËn diÖn ®îc nh÷ng s¬ ®å ®Æc trng cña ho¹t ®éng thÇn kinh h×nh thµnh khi
hä nghÜ ®Õn mét hµnh ®éng nµo ®ã vµ tiÕp ®ã, hµnh ®éng sÏ ®îc thùc hiÖn.
Ngêi ngoµi cã thÓ theo dâi th«ng qua hiÖn tîng nµy tõ c¸c tÝn hiÖu nhÊp
nh¸y cña ¸nh s¸ng hoÆc sãng v« tuyÕn.

Víi viÖc ¸p dông c«ng nghÖ nµy vµo ®êi sèng hµng ngµy chóng ta cã thÓ
gi¶i phãng kh¶ n¨ng cho ngêi tµn tËt, hiÖn tîng dÞch chuyÓn vµ ®iÒu khiÓn
c¸c ®å vËt hoµn toµn cã thÓ dùa vµo dßng ®iÖn cña sù suy nghÜ ®· t¹o ra cho
nh÷ng ngêi tµn tËt kh¶ n¨ng míi vµ kh¶ n¨ng ®ang ®îc gi¶i phãng. Nã gióp
cho nh÷ng ngêi liÖt, côt c¶ tø chi sö dông ®îc c¸c chi gi¶ mét c¸ch chñ
®éng, cho phÐp nh÷ng ngêi mµ cuéc sèng g¾n liÒn víi chiÕc xe l¨n cã thÓ ®i
l¹i trong hiÖn thùc ¶o. Cïng víi sù ph¸t triÓn cña khoa häc vµ c«ng nghÖ trªn
thÕ giíi, hÖ thèng c¸c tßa nhµ th«ng minh ®ang ®îc ph¸t triÓn m¹nh mÏ vµ
®ang ®îc phæ biÕn ë nhiÒu n¬i.

3.1.2. T×nh h×nh nghiªn cøu trong níc.

Trong vµi n¨m trë l¹i ®©y, cïng víi sù ph¸t triÓn m¹nh mÏ cña nÒn kinh
tÕ. ChÊt lîng cuéc sèng cña ngêi ®· ®îc c¶i thiÖn rÊt nhiÒu. Ngoµi nhu cÇu
vÒ ¨n uèng sinh ho¹t hµng ngµy th× nhu cÇu vÒ sö dông c¸c thiÕt bÞ hiÖn ®¹i,
c«ng nghÖ cao lµ rÊt lín. N¾m b¾t ®îc t×nh h×nh ®ã, mét sè c«ng ty trong
níc ®ang tiÕn hµnh nghiªn cøu, chÕ t¹o vµ l¾p ®Æt hÖ thèng nhµ th«ng minh
trªn toµn quèc. Míi ®©y nhÊt Bkav ra m¾t hÖ thèng nhµ th«ng minh
103

SmartHome t¹i triÓn l·m ViÖt Nam 2010. §©y lµ mét trong nh÷ng c«ng tr×nh
c«ng nghÖ cao do c¸c kü s, chuyªn gia ViÖt Nam nghiªn cøu vµ s¶n xuÊt,
®îc lùa chän giíi thiÖu t¹i triÓn l·m nh©n dÞp kû niÖm §¹i lÔ 1000 n¨m Hµ
Néi. C¬ chÕ ho¹t ®éng cña ng«i nhµ th«ng minh nh sau: “Khi b¹n bíc vµo
nhµ, hÖ thèng chiÕu s¸ng tù ®éng bËt nhê c¸c thiÕt bÞ c¶m biÕn hång ngo¹i, hÖ
thèng chiÕu s¸ng ®îc thiÕt kÕ ®Ó tïy biÕn ®iÒu chØnh ¸nh s¸ng, mµu s¾c…
theo së thÝch cña chñ nh©n. §ång thêi, hÖ thèng nµy cã thÓ kÕt hîp víi c¸c
thiÕt bÞ kh¸c trong nhµ nh: ©m thanh, rÌm cöa, thiÕt bÞ chiÕu phim, nghe
nh¹c… ®Ó t¹o sù tiÖn nghi. Ch¼ng h¹n, khi thiÕt bÞ chiÕu phim ho¹t ®éng, c¸c
®Ìn chiÕu s¸ng tù ®éng gi¶m ®é s¸ng, ®ång thêi hÖ thèng rÌm mµnh còng tù
®éng khÐp l¹i ®Ó t¹o m«i trêng ¸nh s¸ng cña phßng chiÕu phim”.

Ngoµi ra ng«i nhµ th«ng minh cña Bkav SmartHome cßn ®îc trang bÞ
HÖ thèng kiÓm so¸t m«i trêng nh»m duy tr× tr¹ng th¸i m«i trêng tèt nhÊt:
HÖ thèng c¶nh b¸o an ninh kiÓm so¸t c¸c nguy c¬ ch¸y, næ hay x©m nhËp tr¸i
phÐp… HÖ thèng gi¶i trÝ ®a ph¬ng tiÖn Multimedia qu¶n lý c¸c th viÖn ©m
nh¹c, phim, ¶nh cña chñ nhµ theo së thÝch… §Ó ®iÒu khiÓn c¸c thiÕt bÞ ®iÖn tö
gia dông trong ng«i nhµ SmartHome, ngêi sö dông cã thÓ t¬ng t¸c trªn giao
diÖn c¶m øng cña m¸y tÝnh b¶ng (tablet), ®îc ®Æt ë nh÷ng vÞ trÝ thuËn tiÖn
trong nhµ hoÆc sö dông ®iÖn tho¹i ®i ®éng 3G. Giao diÖn nµy ®îc thiÕt kÕ víi
®å häa 3D víi c«ng nghÖ ®iÒu khiÓn trùc quan, m« pháng l¹i toµn bé ng«i nhµ
cïng c¸c thiÕt bÞ trong gia ®×nh, gióp ngêi sö dông dÔ dµng ®iÒu khiÓn. T¹i
ViÖt Nam, Bkav SmartHome lµ doanh nghiÖp tiªn phong trong lÜnh vùc nghiªn
cøu vµ s¶n xuÊt thiÕt bÞ ®iÖn tö th«ng minh, phôc vô c¸c c«ng tr×nh d©n dông
vµ c«ng nghiÖp. Bkav SmartHome ®· thiÕt kÕ vµ x©y dùng thµnh c«ng biÖt thù
mÉu øng dông HÖ thèng nhµ th«ng minh SmartHome ®Ó kh¸ch hµng cã thÓ
tham quan trùc tiÕp. HÖ thèng ng«i nhµ th«ng minh SmartHome sÏ chÝnh thøc
ra m¾t thÞ trêng níc ta vµo ®Çu n¨m 2011.
104

Ngoµi Bkav SmartHome cßn cã mét sè doanh nghiÖp trong níc ®Ç u t


vµ ph¸t triÓn trong lÜnh vùc nµy. Tuy nhiªn do cha n¾m v÷ng khoa häc vµ
c«ng nghÖ nªn phÇn ®a lµ c¸c c«ng ty liªn doanh víi níc ngoµi, ®îc chuyÓn
giao khoa häc, vµ nhËp khÈu hÇu nh toµn bé hÖ thèng. Do vËy gi¸ thµnh rÊt
cao, kh«ng phï hîp víi thÞ trêng ViÖt Nam. §Ó gi¶i quyÕt vÊn ®Ò nµy, chóng
ta cÇn ®Çu t ph¸t triÓn nghiªn cøu, chÕ t¹o vµ øng dông khoa häc c«ng nghÖ
cña c¸c níc tiªn tiÕn trªn thÕ giíi ®Ó cã thÓ s¶n xuÊt vµ thiÕt kÕ s¶n phÈm.
NÕu lµm ®îc nh vËy th× sÏ h¹ ®îc gi¸ thµnh s¶n xuÊt.

Nhµ th«ng minh ë ViÖt Nam lµ cßn kh¸ míi mÎ, tuy nhiªn vÒ thÞ trêng
rÊt to lín, ®Ó lÜnh vùc nµy cã thÓ ph¸t triÓn cÇn ®Çu t nghiªn cøu l©u dµi vµ cã
quy m« lín. Níc ta cÇn ph¶i t¹o ra m«i trêng nghiªn cøu khoa häc trong
sinh viªn. V× sinh viªn lµ nguån nh©n lùc dåi dµo, lµ nh÷ng ngêi cã trÝ thøc
vµ cã kh¶ n¨ng. Muèn thay ®æi t×nh tr¹ng nghiªn cøu khoa häc trong sinh viªn
hiÖn nay ph¶i cã sôy thay ®æi tõ c¸ nh©n ba chñ thÓ: Nhµ trêng – sinh viªn
– c¸c c¬ quan, ®¬n vÞ, doanh nghiÖp cÇn sö dông c¸c s¶n phÈm khoa häc.

3.2. Gi¶i ph¸p iBMS cho nhµ th«ng minh.


3.2.1. Tæng quan.

Trong nh÷ng n¨m gÇn ®©y, rÊt nhiÒu c¸c nhµ cao èc ®ang ®îc x©y dùng
t¹i ViÖt Nam nh»m ®¸p øng nh cÇu ph¸t triÓn cña x· héi. ViÖc qu¶n trÞ hiÖu
qu¶ chi phÝ ho¹t ®éng, n¨ng lîng, thêi gian, con ngêi, an toµn, th«ng tin liªn
l¹c vµ b¶o tr× vËn hµnh nh÷ng cao èc nµy lµ nhu cÇu bøc thiÕt cña tÊt c¶ c¸c
chñ ®Çu t còng nh ngêi sö dông.

Tõ nh÷ng n¨m 1970, c¸c quèc gia tiªn tiÕn trªn thÕ giíi ®· b¾t ®Çu ®a
vµo sö dông hÖ th«ng “Building Management System” (BMS), “Building
Automation System” (BAS), “Intelegent City System” (ICS), “Intelligent
Factory System” (IFS), vµ nh÷ng n¨m gÇn ®©y lµ “Intelligent building
Management System” (iBMS). §©y lµ nh÷ng thµnh phè, tßa nhµ hay nhµ m¸y
105

cã trang bÞ hÖ thèng tù ®éng vµ “th«ng minh”, cã kh¶ n¨ng “suy luËn” ®Ó tù


®éng thùc hiÖn c¸c c«ng viÖc qu¶n trÞ hiÖu qu¶ m«i trêng vµ mäi ho¹t ®éng
cña tßa nhµ.

3.2.2. Thµnh phÇn, chøc n¨ng vµ nhiÖm vô.

HÖ thèng qu¶n trÞ tßa nhµ – BMS hay hÖ thèng qu¶n trÞ tù ®éng tßa nhµ
– BAS ra ®êi nh mét sù khëi ®Çu trong viÖc ®¬n gi¶n hãa viÖc qu¶n trÞ vµ
vËn hµnh c¸c hÖ thèng trong tßa nhµ. Tuy nhiªn, BMS/BAS cha thùc sù hiÖu
qu¶ v× nã ®îc lËp tr×nh s½n dùa trªn c¸c chØ sè ®îc thiÕt lËp tõ tríc.

iBMS “th«ng minh” h¬n ë chç ngoµi c¸c tÝnh chÊt cña mét hÖ BMS nã
cßn cã mèi liªn hÖ t¬ng t¸c víi c¸c quy tr×nh nghiÖp vô “®Þnh híng ngêi
dïng”, c¸c luËt, quy ®Þnh, chÝnh s¸ch ®Ó qu¶n lý vµ vËn hµnh hÖ thèng mét
c¸ch tèi u. Mét hÖ thèng iBMS tæng thÓ bao gåm rÊt nhiÒu thµnh phÇn vµ
chøc n¨ng kh¸c nhau, cã thÓ bao gåm (hoÆc kh«ng hoµn toµn) c¸c hÖ thèng
sau:
• HÖ thèng Tæng hîp: Qu¶n lý c¸c hÖ thèng di chuyÓn, thang m¸y,
nhiÖt ®é, ®Ëu xe, chiÕu sang trong vµ ngoµi tßa nhµ, ©m thanh vµ ph¸t
thanh c«ng céng…
• HÖ thèng c¬: qu¶n lý c¸c hÖ thèng sëi, lµm l¹nh, c¶m øng, giã,
níc, Gas, vËn chuyÓn tµi liÖu, xö lý níc th¶i,…
• HÖ thèng ®iÖn: Qu¶n lý c¸c hÖ thèng tiªu thô ®iÖn n¨ng, chiÕu
s¸ng, ph©n phèi ®iÖn, m¸y ph¸t ®iÖn, m¸y lu ®iÖn UPS,…
• HÖ thèng an ninh: qu¶n lý c¸c hÖ thèng Camera an ninh, truy cËp
tù ®éng, c¶m øng, sinh tr¾c häc, b¸o ch¸y, b¸o khãi, dËp ch¸y, b¶o vÖ,
ngËp lôt,…
• HÖ thèng th«ng tin liªn l¹c: qu¶n lý c¸c hÖ thèng m¹ng c¸p th«ng
tin liªn l¹c, tæng ®µi tho¹i, m¹ng d÷ liÖu, Wifi, cable TV, video,
sateline,…
106

• HÖ thèng qu¶n lý chung: Qu¶n lý c¸c sù kiÖn, lËp kÕ ho¹ch ho¹t


®éng, b¶o tr×, b¶o hµnh thiÕt bÞ, xö lý sù cè, lu hå s¬ d÷ kiÖn, qu¶n lý
ngêi sinh ho¹t trong tßa nhµ, tÝnh cíc, qu¶n lý m«i trêng,…

H×nh 3-1: M« h×nh hÖ thèng iBMS

Mét hÖ thèng iBMS thùc thô cho phÐp ngêi qu¶n lý ®iÒu khiÓn, phèi
hîp ho¹t ®éng vµ gi¸m s¸t tõ trung t©m toµn bé c¸c hÖ thèng nªu trªn cña tßa
nhµ nh»m ®¶m b¶o qu¸ tr×nh vËn hµnh cña c¸c c¸c hÖ thèng nµy mét c¸ch tèi
u, chÝnh x¸c vµ hiÖu qu¶. ViÖc phèi hîp c¸c ho¹t ®éng cña c¸c hÖ thèng nµy
th«ng qua c«ng cô giao tiÕp, thèng kª, ph¸t hiÖn tù ®éng… sÏ gióp ®¸p øng tèt
nhÊt c¸c yªu cÇu vÒ møc ®é sö dông, ®¶m b¶o an ninh, b¶o tr×, b¶i hµnh, an
toµn, còng nh t¹o ra mét m«i trêng lµm viÖc th©n thiÖn, tiÖn nghi, vµ tho¶i
m¸i nhÊt cho nh÷ng ngêi tham gia ho¹t ®éng trong tßa nhµ, gãp phÇn n©ng
cao hiÖu qu¶ s¶n xuÊt vµ lµm viÖc.
107

3.2.3. C«ng nghÖ vµ tiªu chuÈn.

C«ng nghÖ iBMS hiÖn nay cha cã mét tiªu chuÈn vµ ng«n ng÷ chung
nµo cho c¸c thiÕt bÞ nµy liªn l¹c víi nhau. T×nh ®Õn thêi ®iÓm 2005, trªn thÕ
giíi cã trªn 500 nhµ s¶n xuÊt c¸c gi¶i ph¸p vµ thiÕt bÞ iBMS víi 47 tiªu chuÈn
truyÒn dÉn, thiÕt bÞ, c¸p, ®Çu nèi vµ giao thøc kh¸c nhau. Trong nhiÒu tßa nhµ
hiÖn nay, c¸c thiÕt bÞ nh m¸y l¹nh, camera an ninh, qu¶n lý truy cËp, b¸o
ch¸y, kiÓm so¸t n¨ng lîng, chiÕu sang… thêng ®îc kÕt nèi trong c¸c m¹ng
c¸p riªng biÖt vµ ®éc víi víi th«ng tin liªn l¹c (tho¹i, d÷ liÖu)… do ®ã sù vËn
hµnh sÏ phøc t¹p, kh«ng hiÖu qu¶, hÖ thèng sÏ khã cµi ®Æt vµ bÞ h¹n chÕ c¸c
chøc n¨ng qu¶n lý tËp trung. HÖ thèng nµy ®ßi hái ph¶i cã nhiÒu ngêi chuyªn
viªn cã kü n¨ng giái ®Ó qu¶n lý vµ thêng lµ kh«ng hiÖu qu¶.

H×nh 3-2: HÖ thèng BMS kiÓu cò víi c¸p truyÒn dÉn ®éc lËp.

Tuy nhiªn, c«ng nghÖ TCP/IP ra ®êi ®· lµm thay ®æi diÖn m¹o vµ tÝnh
hiÖu qu¶ cña iBMS. Víi nÒn t¶ng truyÒn dÉn lµ c¸p ®ång UTP Cat 5e, Cat 6 vµ
c¸p sîi quang vµ giao thøc phæ biÕn nhÊt lµ TCP/IP, hÖ thèng iBMS ®· b¾t ®Çu
ph¸t huy ®îc nh÷ng u ®iÓm cña m×nh. Khi hÖ thèng th«ng tin liªn l¹c lµ c¬
sî h¹ tÇng kh«ng thÓ thiÕu trong bÊt kú tßa nhµ nµo th× viÖc dïng chÝnh hÖ
thèng nµy ®Ó truyÒn c¸c tÝn hiÖu qu¶n lý kh¸c cña hÖ thèng iBMS trë thµnh
gi¶i ph¸p tiÕt kiÖm chi phÝ tèi u cho c¸c chñ ®Çu t tßa nhµ. Kh¶o s¸t cho
108

thÊy, viÖc dïng chung hÖ thèng nµy gióp gi¶m trung b×nh 30% chi phÝ cho hÖ
thèng c¸p vµ gióp gi¶m 60% chi phÝ b¶o tr× hÖ thèng nµy.

H×nh 3-3: Hª thèng BMS kiÓu míi víi c¸p truyÒn dÉn tÝch hîp chuÈn TCP/IP

ViÖc x©y dùng c¸c hÖ thèng c¸p cÊu tróc trong tßa nhµ cÈn ph¶i tu©n thñ
tiªu chuÈn quèc tÕ nh ISO 11801, TIA 568B, TIA 862,… ®Ó ®¶m b¶o tèi u
chi phÝ ®Çu t vµ chÊt lîng hÖ thèng. C¸c hÖ thèng tu©n thñ tiªu chuÈn cao
nhÊt thêng ®îc b¶o hµnh tèi thiÓu 20 n¨m cho chÊt lîng thiÕt bÞ vµ 5 n¨m
cho chÊt lîng truyÒn dÉn. HÖ thèng c¸p ph¶i cã tÝnh linh ®éng, dÔ dµng n©ng
cÊp, më réng, vµ cã tÝnh t¬ng thÝch, ®¸p øng c¸c c«ng nghÖ vµ øng dông
trong t¬ng lai. Ngµy nay, kh«ng hiÕm c¸c tßa nhµ t¹i ViÖt Nam cã nh÷ng hÖ
thèng th«ng tin liªn l¹c cã gi¸ trÞ hµng triÖu ®« la mü, vµ viÖc ®¶m b¸o chÊt
lîng, thiÕt kÕ, thi c«ng vµ vËn hµnh hÖ thèng nµy lµ mèi quan t©m hµng ®Çu
cña chñ ®Çu t.

3.2.4. Chi phÝ ®Çu t vµ lîi Ých.

Víi chi phÝ ®Çu t cho hÖ thèng qu¶n trÞ tßa nhµ th«ng minh trung b×nh
tõ kho¶ng 400USB/m2 (trung b×nh t¹i Mü 2006), c¸c chñ ®Çu t cã thÓ håi
vèn ®Çu t nhanh chãng trong tõ 1.5 – 3 n¨m tõ nh÷ng lîi Ých quy ®æi cña
109

viÖc ®Çu t vµo hÖ thèng nµy. Thèng kª cho thÊy, mét hÖ thèng iBMS chuÈn
IP sÏ gióp:
 Gi¶m ®iÖn n¨ng thiªu thô (trung b×nh 15% - 30%).
 TiÕt kiÖm chi phÝ vËn hµnh, thêi gian qu¶n trÞ, nh©n lùc vµ
c¸c tµi nguyªn kh¸c.
 T¨ng tÝnh hiÖu qu¶, ®é an toµn vµ ®é bÒn.
 T¨ng hiÖu suÊt lµm viÖc cña ngêi sinh ho¹t trong tßa nhµ
(2% - 5%).
 Gi¶m thêi gian x©y dùng vµ ®a hÖ thèng vµo vËn hµnh.
 T¨ng chÊt lîng dÞch vô vµ c¸c dÞch vô gi¸ trÞ gia t¨ng.
 T¨ng gi¸ trÞ tiÕp thÞ vµ c«ng suÊt thuª (~4%).
 Gi¶m thiÓu lçi vµ sù cè.
 DÔ dµng thay ®æi, më réng, n©ng cÊp ®Ó ®¸p øng nhu cÇu
ph¸t triÓn.

Lîi Ých cña hÖ thèng iBMS chuÈn IP kh«ng dõng ë mét tßa nhµ ®éc lËp.
Khi kÕt nèi nh÷ng tßa nhµ, n»m tËp trung hoÆt r¶i r¸c, víi hÖ thèng m¹ng
chuÈn IP th× viÖc qu¶n lý c¸c tßa nhµ nµy tõ hÖ thèng iBMS tËp trung lµ hoµn
toµn kh¶ thi, vµ sÏ gióp tiÕt kiÖm chi phÝ nh©n sù ®iÒu hµnh vµ ®¶m b¶o chÊt
lîng dÞch vô ®ång nhÊt.

3.2.5. C¸c khuyÕn nghÞ.

Nh nhiÒu hÖ thèng kh¸c, hiÖu qu¶ cña iBMS tïy thuéc rÊt nhiÒu vµo
viÖc tu©n thñ nghiªm ngÆt c¸c thiªu chuÈn vµ quy ®Þnh nh»m gióp cho hÖ
thèng ®¹t chÊt lîng tèi u vµ ho¹t ®éng æn ®Þnh. HÖ thèng m¹ng c¸p cÊu tróc
cho iBMS cÇn tu©n thñ c¸c tiªu chuÈn sau:
• ISO/IEC 11801 vµ EIA/TIA 568B: Tiªu chuÈn hÖ thèng c¸p cÊu
tróc cho c¸c tßa nhµ, bao gåm quy ®Þnh vÒ thiÕt kÕ, chÊt lîng thiÕt bÞ,
thi c«ng triÓn khai, ®o kiÓm,…
110

• EIA/TIA 862: Tiªu chuÈn hÖ thèng c¸p cÊu tróc cho hÖ thèng
qu¶n trÞ tßa nhµ th«ng minh bao gåm quy ®Þnh vÒ hiÖu n¨ng, cÊu h×nh,
giao thøc, tÝnh kü thuËt cho c¸c hÖ thèng c¸p truyÒn dÉn cho iBMS.
• EIA/TIA 569A: tiªu chuÈn vÒ hÖ thèng m¹ng vµ kh«ng gian cho
hÖ thèng c¸p cÊu tróc bao gåm quy ®Þnh vÒ thiÕt kÕ, kh«ng gian, hÖ
thèng hç trî, ®Êu nèi, tñ hép b¶o vÖ…
• EIA/TIA 606: Tiªu chuÈn vÒ viÖc lu trc hå s¬ vµ tµi liÖu, bao
gåm quy ®Þnh vÒ m· ký hiÖu, nh·n, kÝch thíc, hå s¬…

ViÖc thiÕt kÕ vµ x©y dùng iBMS cÇn ph¶i ®îc tÝnh to¸n cÈn thËn víi sù
cam kÕt râ rµng cña chñ ®Çu t ngay tõ nh÷ng ngµy ®Çu tiªn. ViÖc sù dông c¸c
nhµ t vÊn chuyªn nghiÖp trong suèt qu¸ tr×nh x©y dùng tßa nhµ lµ cÇn thiÕt vµ
sÏ gióp gi¶m thiÓu tèi ®a c¸c chi phÝ “kh«ng ®¸ng ph¶i tr¶” trong t¬ng lai gÇn
khi hÖ thèng b¾t ®Çu ®i vµo ho¹t ®éng. KhuyÕn nghÞ tõ HiÖp héi tßa nhµ th«ng
minh (intelligent Building Group) cho c¸c chñ ®Çu t nh sau:

H×nh 3-4: KhuyÕn nghÞ vÒ thiÕt kÕ hÖ thèng iBMS

• Quan t©m ngay tõ ban ®Çu.


• NhËn biÕt vµ ®Þnh híng râ rµng tõ Chñ ®Çu t.
111

• NhËn d¹ng râ nhu cÇu vµ yªu cÇu hÖ thèng.


• ThiÕt lËp ®éi chuyªn nhiÖm iBMS tham gia suèt thêi gian triÓn
khai c«ng tr×nh.
• Tu©n thñ c¸c thiªu chuÈn, giao thøc truyÒn dÉn.
• Dïng c«ng nghÖ míi nhÊt ®Ó ®¶m b¶o kh¶ n¨ng t¬ng thÝch trong
t¬ng lai.
112

Ch¬ng 4. hÖ thèng nhµ th«ng minh trªn


FPGA.
4.1. Ph©n tÝch yªu cÇu.
4.1.1. Ph©n tÝch yªu cÇu chøc n¨ng

H×nh 4-1. M« h×nh ng«i nhµ th«ng minh

Ng«i nhµ th«ng minh cã thÓ ®iÒu khiÓn hÖ thèng chiÕu s¸ng tù ®éng nhê
c¸c thiÕt bÞ c¶m biÕn hång ngo¹i. HÖ thèng chiÕu s¸ng cßn ®îc thiÕt kÕ ®Ó
tïy biÕn ®iÒu chØnh ¸nh s¸ng, mµu s¾c… theo së thÝch cña chñ nh©n. §ång
thêi, hÖ thèng nµy cßn cã thÓ kÕt hîp víi c¸c thiÕt bÞ kh¸c trong nhµ nh : ©m
thanh, rÌm cöa, thiÕt bÞ chiÕu phim, nghe nh¹c… ®Ó t¹o sù tiÖn nghi. Ch¼ng
h¹n, khi thiÕt bÞ chiÕu phim ho¹t ®éng, c¸c ®Ìn chiÕu s¸ng tù ®éng gi¶m
cêng ®é s¸ng, ®ång thêi hÖ thèng rÌm mµnh còng tù ®éng khÐp l¹i ®Ó t¹o
m«i trêng ¸nh s¸ng cña phßng chiÕu phim… Ngoµi ra nhµ th«ng minh cßn
cã thÓ ®îc trang bÞ hÖ thèng kiÓm so¸t m«i trêng nh»m duy tr× tr¹ng th¸i
113

m«i trêng tèt nhÊt: HÖ thèng c¶nh b¸o an ninh kiÓm so¸t c¸c nguy c¬ ch¸y,
næ hay bÞ x©m nhËp tr¸i phÐp… HÖ thèng gi¶i trÝ ®a ph¬ng tiÖn multimedia
qu¶n lý c¸c th viÖn ©m nh¹c, phim, ¶nh cña chñ theo së thÝch…

Mét hÖ thèng nhµ th«ng minh ph¶i g¾n kÕt ®îc c¸c hÖ thèng An ninh-
An toµn, ChiÕu s¸ng, §iÒu khiÓn nhiÖt ®é - Qu¶n lý n¨ng lîng, hÖ thèng ©m
thanh, Video - Camera gi¸m s¸t, Intercom - Chu«ng cöa cã h×nh, RÌm tù
®éng, B¬m bÓ b¬i, B¬m tíi, vµ c¸c hÖ thèng kh¸c theo yªu cÇu. C¸c hÖ thèng
nµy cã thÓ giao tiÕp vµ ho¹t ®éng t¬ng t¸c víi nhau ®Ó t¹o ra mét hÖ thèng
®iÒu khiÓn thèng nhÊt ".

HÖ thèng ®iÒu khiÓn trung t©m cã thÓ ®iÒu khiÓn c¸c thiÕt bÞ mét c¸ch tù
®éng dùa trªn sù kiÖn hÖ thèng. C¸c ch¬ng tr×nh tù ®éng ®îc lËp tr×nh cho
tõng kh¸ch hµng ®Ó t¹o ra c¸c tÝnh n¨ng mong muèn.

C¸c tÝnh n¨ng tù ®éng tham kh¶o :


 Tù ®éng bËt ®Ìn s©n vên khi mÆt trêi lÆn vµ tù ®éng t¾t
vµo nöa ®ªm.
 Tù ®éng bËt ®Ìn khi gia chñ vµo nhµ nÕu trêi tèi vµ ®Ìn
cha bËt.
 Khi ®Æt hÖ thèng an ninh ë chÕ ®é “®i xa” th× hÖ thèng sÏ
tù ®éng t¾t toµn bé ®Ìn trong nhµ, t¾t hÖ thèng ®iÒu hßa vµ
thiÕt bÞ ®iÖn, t¾t hÖ thèng ©m thanh trong tÊt c¶ c¸c phßng.
 Tù ®éng t¾t loa s©n vên vµo 10 giê tèi hµng ngµy.
 Tù ®éng bËt ®Ìn hµnh lang, cÇu thang khi cã ngêi vµ
trong ®iÒu kiÖn m«i trêng thiÕu ¸nh s¸ng vµ tù ®éng t¾t
sau 30 gi©y khi ngêi ra khái khu vùc cÇn chiÕu s¸ng.
 HiÓn thÞ c¸c th«ng b¸o nh¾c nhë c¸c ngµy quan träng hoÆc
c¸c sù kiÖn quan träng cña gia chñ.
114

HÖ thèng ®iÒu khiÓn trung t©m cho phÐp t¹o ra c¸c nót nhÊn trªn giao
diÖn ngêi sö dông hoÆc c¸c khèi chøc n¨ng cho phÐp ®iÒu khiÓn nhiÒu hÖ
thèng cïng mét lóc. C¸c nót nhÊn nµy ®îc t¹o ra theo yªu cÇu cña ngêi sö
dông vµ ®îc lËp tr×nh c¸c tÝnh n¨ng theo mong muèn.

V× vËy cã rÊt nhiÒu lý do ®Ó b¹n trang bÞ mét hÖ thèng nhµ th«ng minh :
 T¨ng cêng an ninh - an toµn :

B¹n kh«ng bao giê ph¶i ®i trong bãng tèi.Ng«i nhµ cña b¹n cã thÓ tù
®éng xö lý c¸c t×nh huèng x¶y ra vµ th«ng b¸o ®îc tíi b¹n. HÖ thèng tù ®éng
bËt ®Ìn ®Ó xua ®uæi kÎ xÊu x©m nhËp tr¸i phÐp. HÖ thèng tù ®éng lµm nhÊp
nh¸y ®Ìn ngoµi trêi, hó cßi ®Ó th«ng b¸o cho hµng xãm, gäi ®iÖn tho¹i th«ng
b¸o cho b¹n hoÆc cho c¶nh s¸t.
 TiÕt kiÖm n¨ng lîng :

B¹n tiÕt kiÖm ®îc tiÒn ®iÖn hµng th¸ng do sö dông hîp lý, hiÖu qu¶
nguån n¨ng lîng. HÖ thèng nhµ th«ng minh HAI qu¶n lý n¨ng lîng dùa
trªn c¸c c¶m biÕn hiÖn diÖn vµ thêi gian thùc lµm t¨ng hiÖu qu¶ sö dông n¨ng
lîng lªn rÊt nhiÒu so víi c¸c qu¶n lý tù ®éng chØ dùa theo thêi gian.

§iÒu khiÓn c¸c thiÕt bÞ nh b×nh nãng l¹nh, ®iÒu hßa kh«ng khÝ theo c¸c
th«ng sè c¶m biÕn nhiÖt ®é vµ c¸c th«ng sè cµi ®Æt. Phèi hîp ho¹t ®éng c¸c hÖ
thèng mét c¸ch hoµn h¶o vµ dÔ dµng sö dông.
 T¨ng tÝnh tiÖn nghi cña ng«i nhµ :

HÖ thèng nhµ th«ng minh còng gièng nh mét hÖ thèng gi¶i trÝ. HÖ thèng
sÏ ®em ®Õn cho b¹n nh÷ng tr¶i nghiÖm thó vÞ míi l¹ vµ còng rÊt dÔ sö dông.

Lu«n kiÓm tra ®îc ng«i nhµ cña b¹n trong nh÷ng chuyÕn ®i xa nhµ.

T¨ng tÝnh thÈm mü cho ng«i nhµ b¹n.


115

4.1.2. Ph©n tÝch yªu cÇu phi chøc n¨ng.

Mét hÖ thèng nhµ th«ng minh hoµn thiÖn ngoµi sù tiÖn Ých vÒ tÝnh n¨ng
th× cÇn ph¶i cã c¸c yªu c©u kh¸c vÒ thÈm mü, dÔ sö dông, th©n thiÖn víi m«i
trêng…

C¸c thiÕt bÞ cÇn ph¶i cã sù æn ®Þnh khi ho¹t ®éng. TÝnh æn ®Þnh lµ rÊt cÇn
thiÕt ®èi víi mäi s¶n phÈm. Nã chÝnh lµ môc tiªu mµ nhµ s¶n xuÊt ®ang híng
tíi.

Mét yªu cÇu kh¸c rÊt quan trong träng lµ yªu cÇu vÒ tÝnh thÈm mü cña
s¶n phÈm. Nã chÝnh lµ thø ®Çu tiªn mµ ngêi sö dông tiÕp xóc víi s¶n phÈm
cña chóng ta, nã sÏ t¹o ra Ên tîng tèt víi kh¸ch hµng. Vµ nã còng thÓ hiÖn sù
chuyªn nghiÖp trong s¶n xuÊt chÕ t¹o.

Giao diÖn sö dông lµ hÕt søc quan träng, nã gióp cho kh¸ch hµng dÔ dµng
sö dông s¶n phÈm cña chóng ta. Khi dÔ ®Ó sö dông, sÏ t¹o ra sù th©n thuéc cña
ngêi sö dông víi s¶n phÈm.

Nhµ th«ng minh lµ s¶n phÈm cña c«ng nghÖ cao, thÓ hiÖn sù ph¸t triÓn vÒ
mÆt c«ng nghÖ. N¨ng lîng sö dông thêng lµ n¨ng lîng ®iÖn lÊy tõ m¹ng
®iÖn líi quèc gia. V× lîng ®iÖn cÇn cho mét ng«i nhµ lµ rÊt lín. NÕu sö
dông toµn bé ®iÖn quèc gia sÏ kh«ng tèt, chóng ta nªn sö dông n¨ng lîng
s¹ch. Mét hÖ thèng nhµ th«ng minh nªn cã c¬ cÊu tù tao ra n¨ng lîng ®Ó sö
dông, mµ ®¬n gi¶n vµ hiÖu qu¶ nhÊt lµ n¨ng lîng tõ trong tù nhiªn nh : n¨ng
lîng mÆt trêi, giã…
116

Hệ thống điều
khiển tòa nhà

Đọc thông tin Hiển thị Nhập dữ liệu


Điều khiển
môi trường Báo hiệu điều khiển

Chuyển đổi dữ Hiển thị thông Giao tiếp máy


Điều khiển quạt
liệu từ cảm biến tin trên LCD tính

Điều khiển ánh Hiển thị thông Giao tiếp thiết bị


sáng tin trên Led điều khiển từ xa

Điều khiển nhiệt


Báo hiệu còi
độ

H×nh 4-2: S¬ ®å ph©n cÊp chøc n¨ng hÖ thèng

4.2. ThiÕt kÕ hÖ thèng.


4.2.1. M« h×nh tæng qu¸t hÖ thèng.

H×nh 4-3: M« h×nh tæng quan hÖ thèng


117

HÖ thèng ®îc x©y dùng trªn m« h×nh ®o lêng, qu¶n lý, ®iÒu khiÓn c¸c
thiÕt bÞ trong tßa nhµ. Do vËy m« h×nh hÖ thèng ®îc x©y dùng nh díi
HÖ thèng c¶m biÕn ®o lêng: Ghi nhËn c¸c biÕn ®æi m«i trêng ph¶n håi,
th«ng b¸o trùc tiÕp cho bé xö lý trung t©m qua bé chuyÓn ®æi tÝn hiÖu (thêng
xö dông biÕn ®æi ADC)

Bé ®iÒu khiÓn trung t©m nhËn d÷ liÖu, xö lý d÷ liÖu vµ ®a ra quyÕt ®Þnh
tïy thuéc vµ chÕ ®é ®iÒu khiÓn ®îc thiÕt lËp tõ m¸y tÝnh hoÆc thiÕt bÞ ®iÒu
khiÓn tõ xa.

Bé b¸o hiÖu, hiÖn thÞ ®a ra c¸c kÕt qu¶ xö lý th«ng tin tõ c¸c bé c¶m
biÕn, ®Ó th«ng b¸o hay b¸o hiÖu cho ngêi sö dông hoÆc qu¶n lý biÕn tr¹ng
th¸i hiÖn t¹i

C¬ cÊu chÊp hµnh lµ hÖ thèng c¸c thiÕt trùc tiÕp nhËn vµ thùc thi c¸c hµnh
®éng trùc tiÕp lªn tßa nhµ (m«i trêng) nh ®iÒu chØnh qu¹t, ¸nh s¸ng ®Ìn…

HÖ thèng phÇn cøng lµ khèi ®iÒu khiÓn vµ trùc tiÕp hiÓn thÞ th«ng tin liªn
quan ®Õn hÖ thèng.VÒ mÆt chøc n¨ng hÖ thèng chia lµm 4 khèi chÝnh nh sau:
 Khèi ®iÒu khiÓn trung t©m (MCU):

Vai trß: §¶m nhËn vai trß tr¸i tim hÖ thèng. Giao tiÕp víi m¸y tÝnh,
xö lý th«ng tin vµ truyÒn th«ng tin ®iÒu khiÓn hÖ thèng.

§Çu vµo : gãi tin tõ m¸y tÝnh hoÆc tõ ®iÒu khiÓn tõ xa.

§Çu ra: Luång d÷ liÖu ®iÒu khiÓn hÖ thèng nhµ th«ng minh.
 Khèi c«ng suÊt: §¶m nhËn vai trß ®êng truyÒn d÷ liÖu vµ
cung cÊp nguån c«ng suÊt cho c¸c thiÕt bÞ trong hÖ thèng.

§Çu vµo: Luång d÷ liÖu ®iÒu khiÓn tõ MCU.

§Çu ra: TÝn hiÖu ON/OFF ®Ìn vµ c¸c tÝn hiÖu.


 Khèi thiÕt bÞ: Qu¹t 220V AC, ®Ìn ®iÖn d©y tãc 220V
AC…
118

 Khèi nguån: cung cÊp nguån 5V AC nu«i MCU vµ c¸c


thiÕt bÞ kh¸c trong m¹ch. Cung cÊp ®iÖn ¸p 220V AV ®Ó nu«i qu¹t,
bãng ®iÖn vµ mét sè c¸c thiÕt bÞ më réng.

4.2.2. ThiÕt kÕ phÇn cøng.

4.2.2.1. Bé ®iÒu khiÓn trung t©m.

Bé ®iÒu khiÓn trung ®¶m nhiÖm vai trß quan träng nhÊt hÖ thèng bao
gåm:
 Gi¸m s¸t hÖ thèng liªn tôc, b¾t c¸c sù kiÖn ngay khi sù kiÖn
võa ®Õn hay võa x¶y ra.
 §iÒu khiÓn hÖ thèng nhiÒu thiÕt bÞ kh¸c nhau víi c¸c møc
®iÒu khiÓn kh¸c nhau tïy theo tõng trêng hîp cô thÓ
 Giao tiÕp víi c¸c thiÕt bÞ ®iÒu khiÓn tõ xa còng nh víi
m¸y tÝnh, cËp nhËt chÕ ®é ®iÒu khiÓn còng nh gãi tin ®iÒu
khiÓn trùc tiÕp do con ngêi t¸c ®éng
S¬ ®å khèi bé ®iÒu khiÓn trung t©m:

H×nh 4-4: S¬ ®å khèi bé ®iÒu khiÓn trung t©m

Bé truyÒn nhËn d÷ liÖu nèi tiÕp UART

USART (Universal Synchronous and Asynchronous serial Receiver and


119

Transmitter): Bé TruyÒn NhËn Nèi TiÕp §ång Bé Vµ BÊt §ång Bé Phæ Dông,
®©y lµ khèi chøc n¨ng dïng cho viÖc truyÒn th«ng gi÷a vi ®iÒu khiÓn víi c¸c
thiÕt bÞ kh¸c. Trong vÊn ®Ò truyÒn d÷ liÖu sè, cã thÓ ph©n chia c¸ch thøc
(method) truyÒn d÷ liÖu ra hai chÕ ®é (mode) c¬ b¶n lµ :

ChÕ ®é truyÒn nhËn §ång bé (Synchronous) vµ ChÕ ®é truyÒn nhËn BÊt


®ång bé (Asynchronous). Ngoµi ra, nÕu ë gãc ®é phÇn cøng th× cã thÓ ph©n
chia theo c¸ch kh¸c ®ã lµ: TruyÒn nhËn d÷ liÖu theo kiÓu Nèi tiÕp (serial) vµ
Song song (paralell).

TruyÒn §ång Bé: lµ kiÓu truyÒn d÷ liÖu trong ®ã bé truyÒn (Transmitter)


vµ bé nhËn (Receiver) sö dông chung mét xung ®ång hå (clock). Do ®ã, ho¹t
®éng truyÒn vµ nhËn d÷ liÖu diÔn ra ®ång thêi. Xung clock ®ãng vai trß lµ tÝn
hiÖu ®ång bé cho hÖ thèng (gåm khèi truyÒn vµ khèi nhËn). ¦u ®iÓm cña kiÓu
truyÒn ®ång bé lµ tèc ®é nhanh, thÝch hîp khi truyÒn d÷ liÖu khèi (block).

TruyÒn BÊt §ång Bé: Lµ kiÓu truyÒn d÷ liÖu trong ®ã mçi bé truyÒn
(Transmitter) vµ bé nhËn (Receiver) cã bé t¹o xung clock riªng, tèc ®é xung
o
clock ë hai khèi nµy cã thÓ kh¸c nhau, nhng thêng kh«ng qu¸ 10/o. DoP
P

R R

kh«ng dïng chung xung clock, nªn ®Ó ®ång bé qu¸ tr×nh truyÒn vµ nhËn d÷
liÖu, ngêi ta ph¶i truyÒn c¸c bit ®ång bé (Start, Stop,…) ®i kÌm víi c¸c bit d÷
liÖu. C¸c bé truyÒn vµ bé nhËn sÏ dùa vµo c¸c bit ®ång bé nµy ®Ó quyÕt ®Þnh
khi nµo th× sÏ thùc hiÖn hay kÕt thóc qu¸ tr×nh truyÒn hoÆc nhËn d÷ liÖu. Do
®ã, hÖ thèng truyÒn kh«ng ®å bé cßn ®îc gäi lµ hÖ thèng truyÒn “tù ®ång
bé”. Tõ hai kiÓu truyÒn d÷ liÖu c¬ b¶n trªn, ngêi ta ®a ra nhiÒu giao thøc
(Protocol) truyÒn kh¸c nhau nh: SPI (®ång bé), USRT (®ång bé), UART (bÊt
®ång bé),…Tuy vËy, còng cã giao thøc truyÒn mµ kh«ng thÓ xÕp ®îc vµo
kiÓu nµo: ®ång bé hay bÊt ®ång bé, ch¼ng h¹n kiÓu truyÒ2 C
n I(Trong AVR
R R

gäi lµ TWI), tuy vËy mét c¸ch h¬i gîng Ðp th× cã thÓ thÊy giao thøc truyÒn
I2C gÇn víi kiÓu ®ång bé h¬n v× c¸c thiÕt bÞ giao tiÕp víi nhau theo chuÈn
R R
2C I R R
120

®iÒu dïng chung mét xung clock.

H×nh 4-5: S¬ ®å khèi cña UART

HÖ thèng xung clock

HÖ thèng xung clock ®îc chia thµnh nhiÒu khèi kh¸c nhau, mçi khèi
(module) sÏ cung cÊp xung clock cho c¸c khèi ngo¹i vi øng dông t¬ng øng.
121

H×nh 4-6: Xung clock cña hÖ thèng

4.2.2.2. Giíi thiÖu FPGA hä Cyclone II

FPGA hä Cyclone II lµ mét lo¹i FPGA gi¸ rÎ víi c«ng nghÖ cÊu h×nh dùa
trªn SRAM, mËt ®é tÝch hîp lªn ®Õn 68K phÇn tö logic vµ h¬n 1.1 Mbit Ram
nhóng trªn chip. Chip ®îc hç trî thªm víi 18 x 18 khèi nh©n ®îc dïng cho
c¸c øng dông DSP phøc t¹p, c¸c bé vßng khãa pha (PLL) dïng cho ®iÒu khiÓn
xung clock hÖ thèng vµ c¸c giao tiÕp bé nhí ngoµi tèc ®é cao kÕt nèi víi
SRAM, SDRAM trªn kit. V× vËy, Cyclone II lµ dßng FPGA gi¸ rÎ nhng kh¶
n¨ng thùc thi cao cho c¸c hÇu hÕt c¸c øng dông DSP phøc t¹p.

H¬n n÷a, h·ng Altera còng cung cÊp linh kiÖn cÊu h×nh nèi tiÕp gi¸ rÎ
cho dßng Cyclone II nªn cã thÓ nãi dßng Cyclone II rÊt phï hîp ®Ó thiÕt kÕ
c¸c øng dông DSP chuyªn nghiÖp víi chi phÝ thÊp.
122

C¸c ®Æc trng cña dßng Cyclone II


 MËt ®é tÝch hîp cao, kho¶ng 68.000 phÇn tö logic
 Hç trî c¸c khèi bé nhí nhóng M4K
 C¸c khèi nh©n dïng cho c¸c øng dông DSP
 Qu¶n lý xung clock linh ®éng víi 4 PLL cung cÊp kh¶
n¨ng nh©n, chia, dÞch pha, thay ®æi duty cycle...
 CÊu h×nh nhanh víi gi¸ thµnh thÊp : linh kiÖn cÊu h×nh nèi
tiÕp tèc ®é cao cho phÐp n¹p xuèng FPGA víi thêi gian díi 100ms.

KiÕn tróc cña dßng Cyclone II

Dßng Cyclone II cã kiÕn tróc 2 chiÒu dùa trªn dßng vµ cét ®Ó thùc hiÖn
c¸c khèi logic. C¸c kÕt nèi bªn trong gi÷a dßng vµ cét cung cÊp c¸c tÝn hiÖu
kÕt nèi gi÷a c¸c khèi phÇn cøng víi nhau gåm c¸c LAB (Logic Array Block),
bé nhí nhóng vµ c¸c bé nh©n cho DSP.

Mét d·y logic chøa c¸c LAB, víi mçi LAB cã 16 phÇn tö logic. Mçi mét
phÇn tö logic lµ ®¬n vÞ nhá nhÊt cung cÊp kh¶ n¨ng thùc hiÖn c¸c hµm logic do
ngêi thiÕt kÕ tù ®Þnh nghÜa. C¸c LAB ®îc tËp hîp trªn c¸c hµng vµ cét trong
linh kiÖn. Dßng Cyclone II cã tõ 4.000 ®Õn 68.000 phÇn tö logic.

Dßng Cyclone II cung cÊp mét m¹ng clock toµn côc víi sù hç trî cña 4
vßng khãa pha. M¹ng clock toµn côc bao gåm 16 ®êng clock tr¶i ®Òu suèt
toµn bé diÖn tÝch linh kiÖn. M¹ng nµy cung cÊp xung clock cho tÊt c¶ c¸c
123

thµnh phÇn trong linh kiÖn nh c¸c I/O, phÇn tö logic, bé nhí nhóng vµ
c¸c khèi nh©n. C¸c bé PLL cung cÊp kh¶ n¨ng ®iÒu khiÓn mét c¸ch linh ho¹t
xung clock hÖ thèng nh nh©n tÇn, chia tÇn, dÞch pha v.v . . .

C¸c khèi nhí M4K thùc sù lµ c¸c bé nhí 2-cæng víi 4 Kilo bit
cïng víi parity. C¸c khèi nhí nµy cã thÓ ®îc cÊu h×nh thµnh c¸c bé nhí 2-
cæng hoÆc 1-cæng víi tÇn sè ho¹t ®éng lªn ®Õn 260 MHz vµ chiÒu réng bus
lªn ®Õn 36 bit. C¸c khèi M4K ®îc s¾p xÕp trªn c¸c cét gi÷a c¸c LAB.

Mçi mét khèi nh©n cã thÓ thùc hiÖn ®ång thêi 2 bé nh©n 9 x 9 bit hoÆc 1
bé nh©n 18 x 18 bit víi tÇn sè ho¹t ®éng lªn ®Õn 250 MHz. C¸c khèi
nh©n dïng cho DSP nµy còng ®îc s¾p xÕp däc theo cét cña linh kiÖn.

H×nh 4-7: S¬ ®å khèi FPGA dßng Cyclone II

Giíi thiÖu vÒ kÝt lâi FPGA

Lâi FPGA : mét lo¹t c¸c lâi ®Ó lùa chän díi ®©y:

• CycloneII Core: EP2C5Q208C8


• SDRAM: 8MByte;
124

• Flash: 8MByte;
• EPCS16 cÊu h×nh chip: EP1C6 (tøc lµ c«ng suÊt 16Mb);
• Cung cÊp c¸c chÕ ®é cÊu h×nh: JTAG vµ AS;
• 50MHz ho¹t ®éng ®ång hå;
• Mäi I/O, cÊu h×nh bus Avalon, vµ qua bèn hµng ch©n pin,
ngêi dïng cã thÓ ch¬i tù do ®Çy ®ñ ®Ó më réng linh ho¹t
h¬n;
• 4 LED;
• Mét nót ®Æt l¹i (reset)
• IC nguån 3.3V vµ 1.2V

4.2.2.3. Giíi thiÖu vÒ Modem T35i


a) Th«ng sè kü thuËt:
U

 Dualband EGSM900 and GSM1800


 Output power: 2W / Class 4 for EGSM 900, 1W / Class 1
for GSM 1800
 Control via AT commands
 Operation temperature: -25 °C ... +75 °C, Switch off: +80
°C
 Dimensions: 45 x 24 x 5 mm
 Voice: Triple-rate codec for HR, FR and EFR, basic
handsfree operation: echocancellation, noise reduction.
 SMS: Point-to-point MO and MT / SMS cell broadcast /
Text- and PDU-mode
 Fax: Group 3, Class 1+2
b) C¸c tËp lÖnh AT c¬ b¶n øng dông cho bµi to¸n nµy:
U

TËp lÖnh víi tin nh¾n SMS:


125

- AT+CMGD Delete SMS message

LÖnh xãa tin nh¾n: AT+CMGD= <index>

Víi <index> kiÓu sè nguyªn; gi¸ trÞ trong ph¹m vi sè vÞ trÝ hç trî bé
nhí liªn quan

- AT+CMGF Select SMS message format

LÖnh cµi ®Æt ®Þnh d¹ng tin nh¾n: AT+CMGF= [<mode>]

Víi [<mode>] = 0 t¬ng øng víi mode PDU, = 1 t¬ng øng víi mode
text.

- AT+CMGL List SMS messages from preferred store

Danh s¸ch c¸c tin nh¾n SMS tõ lu tr÷ a thÝch: AT+CMGL= <stat>

1) NÕu lµ mode text:

<stat> :

= REC UNREAD: Received unread messages (default) = REC


READ: Received read messages

= STO UNSENT: Stored unsent messages

= STO SENT: Stored sent messages

= ALL: All messages

2) nÕu PDU mode:

<stat> :

= 0: Received unread messages (default)

= 1: Received read messages

= 2: Stored unsent messages

= 3: Stored sent messages


126

= 4: All messages

- AT+CMGR Read SMS message

LÖnh ®äc tin nh¾n: AT+CMGR= <index>

Víi <index>: kiÓu sè nguyªn; gi¸ trÞ trong ph¹m vi sè vÞ trÝ ®îc
hç trî bëi bé nhí liªn quan

- AT+CMGS Send SMS message

LÖnh göi tin nh¾n:

1) NÕu text mode (+CMGF=1):

+CMGS=<da> [,<toda>]<CR> text is entered <ctrl-Z/ESC>

2) NÕu PDU mode (+CMGF=0):

+CMGS=<length><CR> PDU is given <ctrl-Z/ESC>ESC aborts


message

TËp lªnh víi cµi ®Æt ban ®Çu:

- AT^SCID Display SIM card identification number

LÖnh tr¶ vÒ sè ID cña SIM card: AT^SCID

- AT^SCKS Set SIM connection presentation mode and query


SIM connection status

LÖnh tr¶ vÒ tr¹ng th¸i cña SIM: AT ^SCKS: <n>, <m> OK

Víi <n>

= 0: Suppress unsolicited result codes

= 1: Output unsolicited result codes

Víi <m>

= 0: No card
127

= 1: Card in card reader

- AT+CREG Network registration

LÖnh ®¨ng nhËp hÖ thèng m¹ng GSM: AT+CREG: <stat>

Víi <stat>

= 0: not registered, ME is currently not searching for new operator

= 1: registered, home network

= 2: not registered, but ME is currently searching for a new operator

= 3: registration denied

= 4: unknown

= 5: registered, roaming
c) VËn hµnh Modem TC35i
U

- C¾m nguån cho module TC35i, sau ®ã bËt c«ng t¾c nguån, chó ý
®Ìn nguån sang lµ ®îc.
- Trªn module MC35i cÇn Ên nót Reset, nhÊn Reset ®Ó
MC35i ho¹t ®éng, sau khi nhÊn th× Led trªn module MC35i
thÊy nhÊp nh¸y ®Òu nhau tøc lµ module MC35i ®ang ho¹t
®éng.
- Chó ý c¾m Sim vµo khe c¾m Sim vµ c¾m nèi ¨ngten GSM bªn
ngoµi.
- Cæng RS232 dïng ®Ó kÕt nèi víi m¸y tÝnh hoÆc kÕt nèi víi kÝt
FPGA
- Jack mic vµ phone cho phÐp kÕt nèi ®µm tho¹i voice.
128

H×nh 4-8: VËn hµnh modem TC35i


d) S¬ ®å m¹ch cña Modem TC35i nh sau:
U

H×nh 4-9: S¬ ®å kÕt nèi RS232, SIM vµ Reset


129

H×nh 4-10: S¬ ®å nguån nu«i cho TC35i

H×nh 4-11: S¬ ®å ch©n kÕt nèi víi TC35i


e) Sö dông phÇn mÒm kÕt nèi modem GSM vµ m¸y tÝnh PC.
U

H×nh 4-12: Giao diÖn kÕt nèi Modem TC35i víi PC


130

H×nh 4-13: PhÇn cµi ®Æt cæng COM ®Ó kÕt nèi víi Modem GSM

H×nh 4-14: PhÇn ph¶n håi cña Modem GSM

H×nh 4-15: PhÇn liªn quan ®Õn cuéc gäi


131

H×nh 4-16: PhÇn liªn quan ®Õn tin nh¾n


4.2.2.4. Giao tiÕp ®iÒu khiÓn tõ xa

§iÒu khiÓn tõ xa lµ bé ®iÒu khiÓn TV cña Sony. §iÒu khiÓn TV SONY


sö dông lo¹i m· hãa ®é réng bÝt, ®©y lµ kiÓu m· ho¸ ®¬n gi¶n cho viÖc gi¶i
m·. H·y xem xÐt kho¶ng thêi gian nhá T cì 600µs. Mçi bit truyÒn ®i lµ sù kÕt
hîp cña -T+T cho bÝt “0” vµ -T+2T cho bÝt ”1”.V× vËy bit 0 cã chiÒu dµi
1200µs vµ bit 1 cã chiÒu dµi 1800µs.

H×nh 4-17: Xung ®iÒu khiÓn tõ xa


Møc lªn (+T) trong tÝn hiÖu trªn cã nghÜa lµ hång ngo¹i ®îc truyÒn ®i, møc
xuèng (-T) nghÜa lµ kh«ng cã. §Ó tiÕt kiÖm Pin, hÇu hÕt c¸c nhµ s¶n xuÊt kho¶ng 5/6
132

thËm chÝ 3/4 so víi ®é réng xung nh lý thuyÕt. B»ng c¸ch nµy, pin 500 giê cã thÓ
sö dông ®îc tíi 600giê (5/6) hoÆc 800 giê (3/4). Mét sè nhµ s¶n xuÊt kh¸c kh«ng
quan t©m l¾m vÒ vÊn ®Ò nµy. Hä t¨ng cêng hiÖu qu¶ truyÒn tÝn hiÖu b»ng c¸ch më
réng 1 chót kho¶ng thêi gian sãng mang 36 KHz tÝch cùc vµ rót nh¾n kho¶ng thêi
gian kia. Nh vËy tÝn hiÖu tö REMOTE SONY cã d¹ng sãng nh sau:

H×nh 4-18: Xung ®iÒu khiÓn tõ xa tiÕt kiÖm n¨ng lîng


PhÇn ®Çu tiªn ®îc truyÒn ®i gäi lµ Header (th«ng tin ®Çu), nã còng ®îc coi lµ
bit b¾t ®Çu (START bit), phÇn mµo ®Çu cã ®é réng 3T hay 1800µs.TiÕp theo phÇn
Header b¹n sÏ thÊy 12 bit liªn tiÕp ®îc gi¶i ®iÒu chÕ nh sau:
500µs im lÆng + 700µs hång ngo¹i = bit 0
500µs im lÆng +1300µs hång ngo¹i = bit 1

H×nh 4-19: Khung truyÒn hång ngo¹i

Bit ®Çu tiªn sau bit START lµ bit LSB, ta ®Æt tªn nã lµ bit0 ,Bbit cuèi cïng sÏ lµ
R R

B11 .
R R

B0---B6 : 7 bit m· lÖnh


R R R R

B7---B11 : 5 bit ®Þa chØ


R R R R
133

Trong h×nh 4-19, ®Þa chØ lµ 02H, m· lÖnh lµ 16H. Cã 32 kh¶ n¨ng ®Þa chØ vµ
128 lÖnh. Toµn bé thêi gian truyÒn ®i cña khung cã thÓ thay ®æi theo thêi gian v× ®é
réng cña bit 1 > ®é réng cña bit 0. NÕu b¹n gi÷ nót bÊm, khung d÷ liÖu sÏ lÆp l¹i sau
mçi 25ms. NÕu b¹n sö dông m¾t nhËn hång ngo¹i cã s½n trªn thÞ trêng, tÊt c¶ d¹ng
sãng trªn sÏ bÞ ®¶o l¹i nh sau:

H×nh 4-20: Khung truyÒn hång ngo¹i tiÕt kiÖm n¨ng lîng
4.2.2.5. C¸c s¬ ®å chi tiÕt phÇn cøng

H×nh 4-21: S¬ ®å ®Çu vµo c¶m biÕn qua c¸ch ly quang


134

H×nh 4-22: S¬ ®å ch©n kÕt nèi víi bo m¹ch FPGA vµ kÕt nèi ba m¹ch kh«ng
d©y

H×nh 4-23: S¬ ®å kÕt nèi víi Max 232 ®Ó kÕt nèi víi Modem TC35i
135

H×nh 4-24: S¬ ®å kÕt nèi USB víi m¸y tÝnh PC

H×nh 4-25: S¬ ®å m¹ch FPGA kÕt nèi ROM, RAM vµ FLASH


136

H×nh 4-26: S¬ ®å kÕt nèi mµn h×nh LCD vµ chÝp nhí EPROM

H×nh 4-27: S¬ ®å kÕt nèi ra rowle ®iÒu khiÓn


137

4.2.3. ThiÕt kÕ phÇn mÒm.

4.2.3.1. Lu ®å cho hÖ thèng

H×nh 4-28: Lu ®å cho hÖ thèng

C¸c Nios II lu ®å ph¸t triÓn bao gåm 3 bíc ph¸t triÓn:

Bíc thiÕt kÕ phÇn cøng, bíc thiÕt kÕ phÇn mÒm vµ c¸c bíc thiÕt kÕ hÖ
thèng, liªn quan ®Õn c¶ phÇn cøng vµ phÇn mÒm. §Ó ®¬n gi¶n hÖ thèng Nios
II, mét trong ngêi cã thÓ thùc hiÖn tÊt c¶ c¸c bíc. §èi víi nhiÒu hÖ thèng
phøc t¹p, riªng biÖt thiÕt kÕ phÇn cøng vµ phÇn mÒm cã thÓ ph¶i chÞu tr¸ch
nhiÖm cho c¸c bíc kh¸c nhau. HÖ thèng c¸c bíc thiÕt kÕ liªn quan ®Õn c¶
phÇn cøng vµ phÇn mÒm, vµ cã thÓ yªu cÇu ®Çu vµo cña c¶ hai bªn. Trong
trêng hîp cña phÇn cøng riªng biÖt vµ ®éi phÇn mÒm, ®iÒu quan träng lµ ph¶i
138

biÕt chÝnh x¸c nh÷ng g× c¸c tËp tin vµ th«ng tin ph¶i ®îc th«ng qua gi÷a c¸c
®éi t¹i c¸c ®iÓm giao nhau trong lu lîng thiÕt kÕ.

ViÖc thiÕt kÕ c¸c bíc trong híng dÉn nµy tËp trung vµo ph¸t triÓn phÇn
cøng vµ chØ cung cÊp mét giíi thiÖu ®¬n gi¶n ®Ó ph¸t triÓn phÇn mÒm. §Ó biÕt
thªm chi tiÕt vÒ qu¸ tr×nh ph¸t triÓn phÇn mÒm, Altera khuyÕn nghÞ b¹n ®äc
Híng dÉn ph¸t triÓn phÇn mÒm cã s½n tõ Nios II IDE gióp hÖ thèng sau khi
b¹n hoµn thµnh híng dÉn nµy.

Yªu cÇu ph©n tÝch hÖ thèng

C¸c lu ®å ph¸t triÓn b¾t ®Çu víi ho¹t ®éng predesign trong ®ã bao gåm
mét ph©n tÝch c¸c yªu cÇu øng dông, ch¼ng h¹n nh:
 HiÖu suÊt tÝnh to¸n nµo ®îc yªu cÇu ¸p dông?
 Bao nhiªu b¨ng th«ng hoÆc th«ng qua c¸c yªu cÇu øng dông?
 Nh÷ng lo¹i giao diÖn ®îc yªu cÇu ¸p dông lµ g×?
 Cã yªu cÇu c¸c øng dông ®a luång cho phÇn mÒm?

C¨n cø vµo c©u tr¶ lêi cho nh÷ng c©u hái nµy, b¹n cã thÓ x¸c ®Þnh cô thÓ
yªu cÇu hÖ thèng, ch¼ng h¹n nh:
 Bé xö lý lâi Nios II nµo ®îc sö dông: nhá h¬n hoÆc nhanh h¬n?
 C¸c thµnh phÇn nµo cÇn thiÕt kÕ? Cã bao nhiªu lo¹i?
 Trong ®ã thêi gian thùc cña hÖ ®iÒu hµnh (RTOS) ®Ó sö dông,
nÕu cã?
 Trong trêng hîp cã thÓ t¨ng tèc phÇn cøng logic c¶i thiÖn ®¸ng
kÓ hÖ thèng hiÖu suÊt?

VÝ dô:

- Cã thÓ thªm mét thµnh phÇn lo¹i bá l·ng phÝ xö lý víi DMA chu kú sao
chÐp d÷ liÖu?
139

- Cã thÓ thªm tïy chØnh cã thÓ thay thÕ c¸c vßng lÆp quan träng cña mét
thuËt to¸n DSP ?

- Cã thÓ Nios II C-to- Hardware (C2H) Compiler Acceleration c¶i thiÖn


hiÖu suÊt?

C©u tr¶ lêi cho nh÷ng c©u hái liªn quan ®Õn c¶ nhãm phÇn cøng vµ nhãm
phÇn mÒm.

X¸c ®Þnh vµ t¹o c¸c hÖ thèng trong SOPC Builder

Sau khi ph©n tÝch c¸c yªu cÇu phÇn cøng cña hÖ thèng, b¹n sö dông
SOPC Builder c«ng cô ®îc bao gåm trong phÇn mÒm Altera Quartus II. Sö
dông SOPC Builder b¹n chØ ®Þnh c¸c Nios II bé xö lý lâi (s), bé nhí, vµ c¸c
thµnh phÇn hÖ thèng kh¸c cña b¹n yªu cÇu. SOPC Builder tù ®éng t¹o ra
nh÷ng kÕt nèi logic ®Ó tÝch hîp c¸c thµnh phÇn trong hÖ thèng phÇn cøng.

B¹n cã thÓ chän tõ mét danh s¸ch c¸c nh©n xö lý ®¹t tiªu chuÈn vµ c¸c
thµnh phÇn cung cÊp cïng víi thiÕt kÕ nhóng Nios II Suite. B¹n còng cã thÓ
thªm cña b¹n riªng tïy chØnh phÇn cøng ®Ó t¨ng tèc hiÖu n¨ng hÖ thèng. B¹n
cã thÓ thªm tïy chØnh híng dÉn ®Ó c¸c lâi logic Nios II mµ t¨ng tèc hiÖu suÊt
CPU, hoÆc b¹n cã thÓ thªm mét thµnh phÇn tïy chØnh mµ offloads nhiÖm vô tõ
CPU. Híng dÉn nµy bao gåm viÖc thªm bé xö lý vµ tiªu chuÈn thµnh phÇn
lâi, nhng kh«ng bao gåm viÖc thªm logic tïy chØnh cho hÖ thèng.

C¸c ®Çu ra chÝnh cña SOPC Builder nh sau:


 SOPC Builder System File (ptf). - TËp tin nµy lu tr÷ c¸c néi
dung phÇn cøng cña hÖ thèng SOPC Builder. C¸c Nios II IDE yªu cÇu
SOPC Builder System File ®Ó biªn dÞch phÇn mÒm cho c¸c môc tiªu
phÇn cøng.
 Ng«n ng÷ m« t¶ phÇn cøng (HDL) c¸c tËp tin - Nh÷ng tËp tin nµy
lµ thiÕt kÕ phÇn cøng m« t¶ c¸c tËp tin mµ hÖ thèng SOPC Builder.
140

 Sö dông phÇn mÒm Quartus II ®Ó biªn so¹n c¸c tËp tin HDL c¸c
FPGA tæng thÓ thiÕt kÕ thµnh mét ®èi tîng SRAM File (SOF).

Quartus II c¸c nhiÖm vô Ph¸t triÓn PhÇn cøng:

Sau khi b¹n t¹o ra c¸c hÖ thèng Nios II b»ng c¸ch sö dông SOPC Builder,
b¹n tÝch hîp nã vµo trong tæng thÓ dù ¸n Quartus II. Sö dông phÇn mÒm
Quartus II, b¹n thùc hiÖn tÊt c¶ nhiÖm vô cÇn thiÕt ®Ó t¹o ra c¸c thiÕt kÕ phÇn
cøng FPGA cuèi cïng. Nh trong h×nh 4-27, thiÕt kÕ FPGA nhÊt thiÕt bao
gåm logic ngoµi hÖ thèng Nios II. B¹n cã thÓ tÝch hîp phÇn cøng riªng cña
b¹n modul vµo thiÕt kÕ FPGA, hoÆc b¹n cã thÓ tÝch hîp kh¸c lµm s½n së h÷u
trÝ tuÖ (IP) thiÕt kÕ m«-®un cã s½n tõ Altera hoÆc thø ba bªn cung cÊp dÞch vô
IP. Híng dÉn nµy kh«ng bao gåm viÖc thªm logic kh¸c bªn ngoµi c¸c hÖ
thèng Nios II.

Sö dông phÇn mÒm Quartus II, b¹n còng cã thÓ ®Þnh vÞ ch©n (assign pin
locations) tÝn hiÖu I /O, x¸c ®Þnh c¸c yªu cÇu thêi gian (Timing Requestions),
vµ ¸p dông c¸c h¹n chÕ thiÕt kÕ kh¸c.

Cuèi cïng, b¹n biªn dÞch dù ¸n Quartus II ®Ó t¹o ra mét file Object
SRAM ®Ó cÊu h×nh cho FPGA. B¹n t¶i file SRAM Object vµo FPGA trªn bo
m¹ch môc tiªu sö dông mét c¸p t¶i Altera, ch¼ng h¹n nh Blaster-USB. Sau
khi cÊu h×nh, FPGA thùc hiªn hµnh vi theo quy ®Þnh cña thiÕt kÕ phÇn cøng,
mµ trong trêng hîp nµy lµ mét Nios II bé xö lý hÖ thèng.
4.2.3.2. LËp tr×nh cho FPGA

ChuÈn bÞ code gåm cã:


 UART kÕt nèi víi TC35i sö dông ng¾t.
 UART_USB kÕt nèi víi m¸y tÝnh PC qua USB sö dông
ng¾t
 Timer0 dµnh cho ®Þnh thêi gian tick cho hÖ thèng.
 HiÓn thÞ LCD th«ng tin vÒ thiÕt bÞ vµ tin nh¾n.
141

 PIO 8 output danh cho ®iÒu khiÓn 4 r¬ le vµ 4 led


 PIO 4 input key danh cho c¶m biÕn sö dông ng¾t.
 PIO 2 input for Remote

C¸c lu ®å thuËt to¸n c¬ b¶n:

H×nh 4-29: Lu ®å thuËt to¸n cho ch¬ng tr×nh chÝnh

H×nh 4-30: Lu ®å thuËt to¸n kiÓm tra vµ xö lý tin tøc ®Õn SMS
142

H×nh 4-31: Lu ®å thuËt to¸n kiÓm tra vµ xö lý d÷ liÖu UART_USB

H×nh 4-32: Lu ®å thuËt to¸n hiÓn thÞ th«ng tin trªn LCD 2x16
143

H×nh 4-33: Lu ®å thuËt to¸n kiÓm tra vµ xö lý phÝm nhÊn

H×nh 4-34: Lu ®å thuËt to¸n kiÓm tra vµ xö lý lèi vµo c¶m biÕn
144

KÕt luËn vµ kiÕn nghÞ

Trong khu«n khæ ®Ò tµi luËn v¨n cña m×nh, em ®· nghiªn cøu ®îc mét
sè vÊn ®Ò chÝnh vÒ hÖ thèng nhóng, vi m¹ch lËp tr×nh ®îc, hÖ thèng nhóng
øng dông cho ng«i nhµ th«ng m×nh. KÕt thóc luËn v¨n, em ®· cã s¶n phÈm gi¶
lËp vÒ hÖ thèng nhóng øng dông cho ng«i nhµ th«ng minh. Víi nh÷ng ®iÒu
kiÖn hiÖn cã, hÖ thèng ®îc gi¶ lËp cã kh¶ n¨ng giao tiÕp, ®iÒu khiÓn th«ng
qua hÖ thèng GSM (th«ng qua modem TC35i), qua ®iÒu khiÓn tõ xa vµ qua hÖ
thèng m¸y tÝnh gi¸m s¸t. §Æc biÖt, th«ng qua viÖc gi¸m s¸t vµ ®iÒu khiÓn b»ng
tin nh¾n SMS qua modem GSM, hÖ thèng ®îc m« pháng cã thÓ ®îc øng
dông trong thùc tÕ ®Æc biÖt viÖc gi¸m s¸t c¸c ®¬n vÞ cè ®Þnh nh tr¹m BTS,
nhµ xëng s¶n xuÊt, c¬ së ®µo t¹o,…

Trong t¬ng lai, híng nghiªn cøu cã thÓ më réng viÖc ph¸t triÓn c¸c hÖ
thèng sensor ®a d¹ng vµ hÖ thèng ®iÒu khiÓn më. ViÖc ®ã sÏ gióp cho hÖ
thèng cã nhiÒu kh¶ n¨ng gi¸m s¸t h¬n nh gi¸m s¸t nguån n¨ng lîng, gi¸m
s¸t th«ng tin, gi¸m s¸t h×nh ¶nh, ©m thanh,… Ngoµi ra, viÖc t¹o ra c¸c ®iÒu
khiÓn më cho phÐp n©ng cao, t¨ng cêng tÝnh hiÖu qu¶ trong viÖc sö dông hÖ
thèng vµ dÔ dµng trong viÖc thao t¸c, sö dông. MÆt kh¸c, ®Ò tµi còng cã híng
nghiªn cøu viÖc truyÒn dÉn tÝn hiÖu ®ång bé th«ng qua hÖ thèng th«ng tin s½n
cã nh ®êng tÝn hiÖu tho¹i, ADSL, kªnh riªng. Tõ ®ã cã thÓ n©ng cÊp hÖ
thèng vµ më réng chøc n¨ng ®iÒu khiÓn tõ xa th«ng qua internet.
145

Tµi liÖu tham kh¶o


1. D. Vanden Bout (2005), XSA Board SDRAM Controller, XESS
Corporation, Carolina.
2. §Æng Th¹ch Qu©n (2008), “HÖ thèng qu¶n trÞ tßa nhµ th«ng minh vµ c¬ së
h¹ tÇng m¹ng th«ng tin”, Tµi liÖu b¶n quyÒn QD-Tek, 26, tr. 1, 2.
3. Gi¶ng viªn khoa §iÖn - §iÖn tö trêng §H T«n §øc Th¾ng (2010), “Gi¶i
ph¸p thùc hiÖn ng«i nhµ th«ng minh víi chi phÝ thÊp”, Khoa häc vµ ®êi
sèng, 57, tr. 58, 59, 60.
4. Lothar Thiele (2006), Embedded Systems, Lecture Notes, Swiss Federal
Institute of Tech, Swiss.
5. O.Gassman, H.Meixner (2001), Sensors in Intelligent buildings, Wiley-
VHC, Germany.
6. Olli S., Jaakko A (2006), Embedded Systems, Lecture Notes, Helsinki
University of Tech, Swedish.
7. Peter Marweden (2006), Embedded Systems Design, Springer, Berlin.
8. Stuart R.Ball (2002), Embedded Microprocessor Systems, Newnes, USA.
9. Volnei A. Pedroni (2004), Circuit Design with VHDL, MIT Press
Cambridge, London.

You might also like