Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 246 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
246
Dung lượng
2,46 MB
Nội dung
H C VI N CÔNG NGH B U CHÍNH VI N THÔNG I NT S (Dùng cho sinh viên h đào t o đ i h c t xa) L u hành n i b HÀ N I - 2006 H C VI N CÔNG NGH B U CHÍNH VI N THÔNG I NT Biên so n : S ThS TR N TH THÚY HÀ L I GI I THI U Cùng v i s ti n b c a khoa h c công ngh , thi t b n t s ti p t c đ c ng d ng ngày r ng rãi mang l i hi u qu cao h u h t l nh v c kinh t k thu t c ng nh đ i s ng xã h i Vi c x lý tín hi u thi t b n t hi n đ i đ u d a c s nguyên lý s B i v y vi c hi u sâu s c v n t s u không th thi u đ c đ i v i k s n t hi n Nhu c u hi u bi t v k thu t s không ph i ch riêng đ i v i k s n t mà đ i v i nhi u cán b k thu t chuyên ngành khác có s d ng thi t b n t Tài li u gi i thi u m t cách h th ng ph n t c b n m ch n t s k t h p v i m ch n hình, gi i thích khái ni m c b n v c ng n t s , ph ng pháp phân tích thi t k m ch logic c b n Tài li u bao g m ki n th c c b n v m ch c ng logic, c s đ i s logic, m ch logic t h p, trig , m ch logic tu n t , m ch phát xung t o d ng xung, b nh thông d ng c bi t tài li u có b xung thêm ph n logic l p trình ngôn ng mô t ph n c ng VHDL ây ngôn ng ph bi n hi n dùng đ t o mô hình cho h th ng k thu t s T t c g m ch ng Tr c sau m i ch ng đ u có ph n gi i thi u ph n tóm t t đ giúp ng i h c d n m b t ki n th c h n Các câu h i ôn t p đ ng i h c ki m tra m c đ n m ki n th c sau h c m i ch ng Trên c s ki n th c c n b n, tài li u c g ng ti p c n v n đ hi n đ i, đ ng th i liên h v i th c t k thu t Tài li u g m có ch ng đ c b c c nh sau: Ch ng 1: H đ m Ch ng 2: Ch ng 3: C ng logic TTL CMOS Ch ng 4: M ch logic t h p Ch ng 5: M ch logic tu n t Ch ng 6: M ch phát xung t o d ng xung Ch ng 7: B nh bán d n Ch ng 8: Logic l p trình Ch ng : Ngôn ng mô t ph n c ng VHDL i s Boole ph ng pháp bi u di n hàm Do th i gian có h n nên tài li u không tránh kh i thi u sót, r t mong ng i đ c góp ý Các ý ki n xin g i v Khoa K thu t i n t 1- H c vi n Công ngh B u vi n thông Xin trân tr ng c m n Ch CH ng 1: H đ m NG 1: H M GI I THI U Khi nói đ n s đ m, ng i ta th ng ngh đ n h th p phân v i 10 ch s đ c ký hi u t đ n Máy tính hi n đ i không s d ng s th p phân, thay vào s nh phân v i hai ký hi u Khi bi u di n s nh phân r t l n, ng i ta thay b ng s bát phân (Octal) th p l c phân (HexaDecimal) m s l ng c a đ i l ng m t nhu c u c a lao đ ng, s n xu t Ng ng m t trình đ m, ta đ c m t bi u di n s Các ph ng pháp đ m bi u di n s đ c g i h đ m H đ m không ch đ c dùng đ bi u di n s mà công c x lý Có r t nhi u h đ m, ch ng h n nh h La Mã, La Tinh H đ m v a có tính đa d ng v a có tính đ ng nh t ph bi n M i h đ m có u m riêng c a nên k thu t s s s d ng m t s h đ b khuy t cho Trong ch ng không ch trình bày h th p phân, h nh phân, h bát phân, h th p l c phân nghiên c u cách chuy n đ i gi a h đ m Ch ng c ng đ c p đ n s nh phân có d u khái ni m v d u ph y đ ng N I DUNG 1.1 BI U DI N S Nguyên t c chung c a bi u di n dùng m t s h u h n ký hi u ghép v i theo qui c v v trí Các ký hi u th ng đ c g i ch s Do đó, ng i ta g i h đ m h th ng s S ký hi u đ c dùng c s c a h ký hi u r Giá tr bi u di n c a ch khác đ c phân bi t thông qua tr ng s c a h Tr ng s c a m t h đ m b t k s b ng ri, v i i m t s nguyên d ng ho c âm B ng 1.1 li t kê tên g i, s ký hi u c s c a m t vài h đ m thông d ng Tên h đ m S ký hi u C s (r) H nh phân (Binary) 0, H bát phân (Octal) 0, 1, 2, 3, 4, 5, 6, H th p phân (Decimal) 0, 1, 2, 3, 4, 5, 6, 7, 8, 10 H th p l c phân (Hexadecimal) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 16 B ng 1.1 Ng i ta c ng có th g i h đ m theo c s c a chúng Ví d : H nh phân = H c s 2, H th p phân = H c s 10 Ch ng 1: H đ m i đây, ta s trình bày tóm t t m t s h đ m thông d ng D 1.1.1 H th p phân Các ký hi u c a h nh nêu b ng 1.1 Khi ghép ký hi u v i ta s đ bi u di n Ví d : 1265,34 bi u di n s h th p phân: cm t 1265.34 = × 103 + × 102 + × 101 + × 100 + × 10−1 + × 10−2 Trong phân tích trên, 10n tr ng s c a h ; h s nhân ký hi u c a h Nh v y, giá tr bi u di n c a m t s h th p phân s b ng t ng tích c a ký hi u (có bi u di n) v i tr ng s t ng ng M t cách t ng quát: N10 = d n −1 × 10n −1 + + d1 ×101 + d × 100 + d −1 × 10−1 + + d − m × 10− m −m = ∑ di × 10i n −1 đó, N10 : bi u di n b t kì theo h 10, d : h s nhân (ký hi u b t kì c a h ), n : s ch s ph n nguyên, m : s ch s ph n phân s u m c a h th p phân tính truy n th ng đ i v i ng i ây h mà ng i d nh n bi t nh t Ngoài ra, nh có nhi u ký hi u nên kh n ng bi u di n c a h r t l n, cách bi u di n g n, t n th i gian vi t đ c Nh c m c a h có nhi u ký hi u nên vi c th hi n b ng thi t b k thu t s khó kh n ph c t p Bi u di n s t ng quát: V i c s b t kì r d b ng h s a tu ý ta s có công th c bi u di n s chung cho t t c h đ m: N = a n −1 × r n −1 + + a1 × r1 + a × r + a −1 × r −1 + + a − m × r − m −m = ∑ a i × ri n −1 Trong m t s tr ng h p, ta ph i thêm ch s đ tránh nh m l n gi a bi u di n c a h Ví d : 3610 , 368 , 3616 1.1.2 H nh phân 1.1.2.1 T ch c h nh phân H nh phân (Binary number system) g i h c s hai, g m ch hai ký hi u 1, c s c a h 2, tr ng s c a h 2n Cách đ m h nh phân c ng t ng t nh h th p phân Kh i đ u t giá tr 0, sau ta c ng liên ti p thêm vào k t qu đ m l n tr c Nguyên t c c ng nh phân : + = 0, + = 1, + = 10 (102 = 210) Ch ng 1: H đ m Trong h nh phân, m i ch s ch l y giá tr ho c ho c đ c g i t t "bit" Nh v y, bit s nh phân ch s S bit t o thành đ dài bi u di n c a m t s nh phân M t s nh phân có đ dài bit đ c g i byte S nh phân hai byte g i m t t (word) Bit t n bên ph i g i bit bé nh t (LSB – Least Significant Bit) bit t n bên trái g i bit l n nh t (MSB - Most Significant Bit) Bi u di n nh phân d ng t ng quát : N = b n −1b n −2 b1b0 b −1b −2 b − m Trong đó, b h s nhân c a h Các ch s c a h s đ ng th i c ng b ng l y th a c a tr ng s t ng ng Ví d : 1 0 → s nh phân phân s 22 21 20 2−1 2−2 → tr ng s t Các giá tr 210 = 1024 đ ng ng c g i 1Kbit, 220 = 1048576 - Mêga Bit Ta có d ng t ng quát c a bi u di n nh phân nh sau: N2 = b n −1 × 2n −1 + + b1 × 21 + b0 × 20 + b −1 × 2−1 + + b − m × 2− m −m = ∑ b i × 2i n −1 Trong đó, b h s nhân l y giá tr ho c 1.1.2.2 Các phép tính h nh phân a Phép c ng Qui t c c ng hai s nh phân bit nêu b Phép tr Qui t c tr hai bit nh phân cho nh sau : 0-0 =0; 1-1 =0 ; 1-0=1; Khi tr nhi u bit nh phân, n u c n thi t ta m ti p l i ph i tr thêm 10 - = (m n 1) n bit k ti p có tr ng s cao h n L n tr k c Phép nhân Qui t c nhân hai bit nh phân nh sau: 0x0=0 , 0x1=0 ,1x0=0 ,1x1=1 Phép nhân hai s nh phân c ng đ c th c hi n gi ng nh h th p phân Chú ý : Phép nhân có th thay b ng phép d ch c ng liên ti p d Phép chia Phép chia nh phân c ng t ng t nh phép chia hai s th p phân u m c a h nh phân ch có hai ký hi u nên r t d th hi n b ng thi t b c , n Các máy vi tính h th ng s đ u d a c s ho t đ ng nh phân (2 tr ng thái) Do Ch đó, h nh phân đ ng máy Nh ng 1: H đ m c xem ngôn ng c a m ch logic, thi t b tính toán hi n đ i - ngôn c m c a h bi u di n dài, m t nhi u th i gian vi t, đ c 1.1.3 H bát phân th p l c phân 1.1.3.1 H bát phân T ch c c a h : Nh m kh c ph c nh c m c a h nh phân, ng i ta thi t l p h đ m có nhi u ký hi u h n, nh ng l i có quan h chuy n đ i đ c v i h nh phân M t s h bát phân (hay h Octal, h c s 8) H g m ký hi u : 0, 1, 2, 3, 4, 5, C s c a h Vi c l a ch n c s xu t phát t ch = 23 Do đó, m i ch s bát phân có th thay th cho bit nh phân D ng bi u di n t ng quát c a h bát phân nh sau: N8 = O n −1 × 8n −1 + + O0 × 80 + O −1 × 8−1 + + O − m × 8− m −m = ∑ Oi × 8i n −1 L u ý r ng, h th p phân c ng đ m t th tìm đ ng t có gi i r ng h n h bát phân, nh ng không c quan h 10 = (v i n nguyên) n Các phép tính h bát phân a Phép c ng Phép c ng h bát phân đ c th c hi n t ng t nh h th p phân Tuy nhiên, k t qu c a vi c c ng hai ho c nhi u ch s tr ng s l n h n ho c b ng ph i nh lên ch s có tr ng s l n h n k ti p b Phép tr Phép tr c ng đ c ti n hành nh h thâp phân Chú ý r ng m tr ng s l n h n ch c n c ng thêm ch không ph i c ng thêm 10 Các phép tính h bát phân đ nh m t t p cho ng i h c n1 ch s có c s d ng Do đó, phép nhân phép chia dành l i 1.1.3.2 H th p l c phân 1.T ch c c a h H th p l c phân (hay h Hexadecimal, h c s 16) H g m 16 ký hi u 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Trong đó, A = 1010 , B = 1110 , C = 1210 , D = 1310 , E = 1410 , F = 1510 C s c a h 16, xu t phát t y u t 16 = 24 V y, ta có th dùng m t t nh phân bit (t 0000 đ n 1111) đ bi u th ký hi u th p l c phân D ng bi u di n t ng quát: Ch ng 1: H đ m = H n −1 ×16n −1 + + H × 160 + H −1 ×16−1 + + H − m ×16− m N16 −m = ∑ Hi ×16i n −1 Các phép tính h c s 16 a Phép c ng Khi t ng hai ch s l n h n 15, ta l y t ng chia cho 16 S d đ c vi t xu ng ch s t ng s th ng đ c nh lên ch s k ti p N u ch s A, B, C, D, E, F tr c h t, ta ph i đ i chúng v giá tr th p phân t ng ng r i m i c ng b Phép tr Khi tr m t s bé h n cho m t s l n h n ta c ng m c ng thêm 16 r i m i tr n1 c t k ti p bên trái, ngh a c Phép nhân Mu n th c hi n phép nhân h 16 ta ph i đ i s m i th a s v th p phân, nhân hai s v i Sau đó, đ i k t qu v h 16 1.2 CHUY N IC S GI A CÁC H M 1.2.1 Chuy n đ i t h c s 10 sang h khác th c hi n vi c đ i m t s th p phân đ y đ sang h khác ta ph i chia hai ph n: ph n nguyên phân s i v i ph n nguyên: ta chia liên ti p ph n nguyên c a s th p phân cho c s c a h c n chuy n đ n, s d sau m i l n chia vi t đ o ng c tr t t k t qu c n tìm Phép chia d ng l i k t qu l n chia cu i b ng Ví d : i s 5710 sang s nh phân B c chia đ c d 57/2 28 28/2 14 14/2 7/2 3/2 1 1/2 Vi t đ o ng LSB MSB c tr t t , ta có : 5710 = 1110012 i v i ph n phân s : ta nhân liên ti p ph n phân s c a s th p phân v i c s c a h c n chuy n đ n, ph n nguyên thu đ c sau m i l n nhân, vi t tu n t k t qu c n tìm Phép nhân d ng l i ph n phân s tri t tiêu Ví d : i s 57,3437510 sang s nh phân Ch ví d a), ch c n đ i ph n phân s 0,375 Ph n nguyên ta v a th c hi n B c ng 1: H đ m Nhân K t qu Ph n nguyên 0,375 x 0.75 0,75 x 1.5 0,5 x 1.0 0,0 x 0 K t qu : 0,37510 = 0,01102 S d ng ph n nguyên có 1.2.2 ví d 1) ta có : 57,37510 = 111001.01102 i m t bi u di n h b t kì sang h th p phân Mu n th c hi n phép bi n đ i, ta dùng công th c : = a n −1 × r n −1 + + a × r + a −1 × r −1 + + a − m × r − m N10 Th c hi n l y t ng v ph i s có k t qu c n tìm Trong bi u th c trên, r h s c s h có bi u di n 1.2.3 i s t h nh phân sang h c s 16 Vì = 23 16 = 24 nên ta ch c n dùng m t s nh phân bit đ ghi ký hi u c a h c s t nh phân bit cho h c s 16 Do đó, mu n đ i m t s nh phân sang h c s 16 ta chia s nh phân c n đ i, k t d u phân s sang trái ph i thành t ng nhóm bit ho c bit Sau thay nhóm bit phân b ng ký hi u t ng ng c a h c n đ i t i Ví d : i s 110111,01112 sang s h c s a Tính t d u phân s , ta chia s thành nhóm bit nh sau : 110 111 , 011 100 ↓ ↓ ↓ ↓ K t qu : 110111,01112 = 67,348 ( Ta thêm s đ ti n bi n đ i) i s nh phân 111110110,011012 sang s h c s 16 b Ta phân nhóm thay th nh sau : 0001 1111 0110 0110 1000 ↓ ↓ ↓ ↓ ↓ F 6 K t qu : 111110110,011012 = 1F6,6816 Ch 1.3 S ng 1: H đ m NH PHÂN CÓ D U 1.3.1 Bi u di n s nh phân có d u Có ba ph ng pháp th hi n s nh phân có d u sau S d ng m t bit d u Trong ph ng pháp ta dùng m t bit ph , đ ng tr s đ bi u di n d u, ‘0’ ch d u d ng (+), ‘1’ ch d u âm (-) c bit tr S d ng phép bù Gi nguyên bit d u l y bù bit tr s (bù b ng đ o c a bit c n đ c l y bù) S d ng phép bù Là ph ng pháp ph bi n nh t S d ng th hi n b ng s nh phân không bù (bit d u b ng 0), s âm đ c bi u di n qua bù (bit d u b ng 1) Bù b ng bù c ng Có th bi u di n s âm theo ph ng pháp bù xen k : b t đ u t bit LSB, d ch v bên trái, gi nguyên bit cho đ n g p bit đ u tiên l y bù bit l i Bit d u gi nguyên 1.3.2 Các phép c ng tr s nh phân có d u Nh nói trên, phép bù bù th phân v i s có d u ng đ c áp d ng đ th c hi n phép tính nh Bi u di n theo bit d u a Phép c ng Hai s d u: c ng hai ph n tr s v i nhau, d u d u chung Hai s khác d u s âm có tr s nh h n: c ng tr s c a s d Bit tràn đ c c ng thêm vào k t qu trung gian D u d u d ng ng v i bù c a s âm Hai s khác d u s âm có tr s l n h n: c ng tr s c a s d L y bù c a t ng trung gian D u d u âm ng v i bù c a s âm b Phép tr N u l u ý r ng, - (-) = + trình t th c hi n phép tr tr c ng gi ng phép c ng ng h p C ng tr s theo bi u di n bù a C ng Hai s d ng: c ng nh c ng nh phân thông th ng, k c bit d u Hai s âm: bi u di n chúng d ng bù c ng nh c ng nh phân, k c bit d u Bit tràn c ng vào k t qu Chú ý, k t qu đ c vi t d i d ng bù Hai s khác d u s d c ng vào k t qu ng l n h n: c ng s d Hai s khác d u s âm l n h n: c ng s d tràn d ng bù ng v i bù c a s âm Bit tràn đ ng v i bù c a s âm K t qu bit b Tr th c hi n phép tr , ta l y bù c a s tr , sau th c hi n b c c nh phép c ng Ch ng 9: Ngôn ng mô t ph n c ng VHDL B architecture Behavioral of cau33 is signal Clk: std_logic; signal J,K,Q,notQ: std_logic_vector(0 to 2); signal JK0,JK1,JK2: std_logic_vector(0 to 1); begin JK0