CHƯƠNG 5: KHỐI RAM – ROM 8031 có khả năng mở rộng bộ nhớ lên đến 64K bộ nhớ chương trình và 64K bộ nhớ dữ liệu ngoài. Do đó có thể dùng thêm RAM và ROM. 1. ROM : Bộ nhớ ROM (Read Only Memory) là bộ nhớ được thiếtkế để lưu trữ các dữ liệu cố đònh. Trong lúc hoạt động bình thường, dữ liệu mới không thể được ghi vào ROM mà dữ liệu chỉ có thể được đọc từ ROM. Khi ROM được lập trình thì khi ngừng cấp nguồn các dữ liệu bên trong ROM không bò mất. ROM có ba bus: bus dữ liệu, bus đòa chỉ và bus điều khiển. Với bộ nhớ như trên bus đòa chỉ có 4 đường, bus dữ liệu có 8 đường tức là từ dữ liệu có độ dài 8 bit. Như vậy dung lượng bộ nhớ là 16 bytes. Các loại bộ nhớ ROM: - Programable ROM (PROM): chỉ được lập trình một lần, không thể nạp lại được vì mỗi bit nhớ của nó tương tự như một cầu chì khi đức thì không thể nối lại được. - Erasable Programable ROM (EPROM): có thể lập trình lại được, cũng có thể xóa và lập trình lại nhiều lần. Để xóa dữ liệu trong EPROM cần phải chiếu tia cực tím trực tiếp vào EPROM. Để lập trình cho EPROM phải dùng mạch nạp EPROM. Từ những đặc điểm như trên bộ nhớ EPROM phù hợp với máytínhcước này. Có thể được xóa và lập trình lại nhiều lần để cập nhật lại giá cướcđiện thoại. Vì bộ nhớ chương trình khá lớn nên EPROM được chọn sẽ là vi mạch 2764 có dung lượng nhớ 8 Kbytes. Sơ đồ chân được kết nối như sau: +5V PGM Vpp Vcc EPROM 2764 D 0 D 7 A 0 A12 GND OE CE PSEN ADDRESS OUTPUT DATA Sơ đồ kết nối EPROM 2. RAM Bộ nhớ RAM (Random Access Memory) là bộ nhớ truy xuất ngẫu nhiên có nghóa là bất kỳ ô nhớ nào cũng dễ dàng truy xuất trong bộ nhớ. Bộ nhớ RAM dùng để lưu trữ tạm thời chương trình và dữ liệu, nội dung các ô nhớ trong RAM thay đổi liên tục khi vi xử lý thực hiện chương trình. Một nhược điểm lớn của RAM là dữ liệu chứa trong RAM sẽ bò mất khi RAM bò mất nguồn cung cấp nhưng điều này đã được cải thiện nhờ dùng một nguồn pin dự phòng để nuôi RAM. Có hai loại bộ nhớ RAM : - RAM tónh (Static RAM): sự tồn tại dữ liệu trong SRAM dưới dạng tắt hay bão hòa của các transistor nên sự ổn đònh của dữ liệu theo thời gian là khá bền. - RAM động (Dynamic RAM): dữ liệu được tồn trữ trong DRAM dưới dạng điện tích trong điện dung ký sinh nên rất dễ bò thất thoát bởi hiện tượng rò rỉ, vì vậy khi dùng DRAM ngoài mạch giải mã như thường mà người ta còn phải có một mạch làm tươi, do đó sẽ làm phức tạp thêm cho mạch. Từ những đặc điểm trên, bộ nhớ SRAM phù hợp với máytínhcước này. Vì máy có thể nhớ tới 255 cuộc đàm thoại bao gồm số tiền, số cuộc gọi,… nên SRAM được chọn sẽ là 6264 có dung lượng nhớ 8 Kbytes. Các vi mạch EPROM 2764 và SRAM 6264 sẽ được giới thiệu ở phần PHỤ LỤC. Sơ đồ kết nối chân của RAM 6264 như sau: D 0 +5V CE2 Vcc RAM 6264 GND RD WR ADDRESS CE1 OUTPUT DATA A12 D0 D7 A0 Sơ đồ kết nối Ram 3. Kết Nối Bộ Nhớ EPROM Và RAM Vào CPU : Bộ nhớ EPROM và RAM được kết nối với CPU thông qua các bus đòa chỉ, bus dữ liệu và bus điều khiển. Như đã khảo sát ở trên, CPU 8031 có thể có bộ nhớ chương trình và dữ liệu lên đến 64 Kbytes nhưng trong phạm vi máytính do chương trình làm việc cũng tương đối lớn nên ta chọn hai IC nhớ SRAM và EPROM có tổng dung lượng nhớ là 16 Kbytes. a. Bus đòa chỉ (Address Bus): Là bus một chiều chuyển tải thông tin từ CPU 8031 đến các IC nhớ. Do 8031 có thể điều khiển bộ nhớ mở rộng lên đến 64 Kbytes tức là có tới 16 đường đòa chỉ ra A 0 ….A 15 mà các IC nhớ chỉ có 16 Kbytes. Vì vậy ta sử dụng 13 bit thấp đòa chỉ của CPU từ A 0 … A 12 để kết nối song song với 13 đường đòa chỉ của SRAM và EPROM. Các bit đòa chỉ còn lại sẽ dùng cho việc điều khiển. b. Bus dữ liệu (Data Bus): Là bus dữ liệu hai chiều có chức năng chuyển dữ liệu qua lại giữa CPU và các IC nhớ. Do vậy 8 đường dữ liệu của CPU 8031 sẽ nối song song với 8 đường dữ liệu của SRAM và EPROM. c. Bus điều khiển (Control Bus): Bus điều khiển là bus khá quan trọng trong mạch vì nó quyết đònh xem khi nào SRAM hay EPROM sẽ được đọc dữ liệu và khi nào SRAM sẽ ghi dữ liệu. Do vậy chân RD\ của CPU sẽ được nối đến chân OE\ của SRAM và WD\ của CPU sẽ được nối đến chân WE\ của SRAM. Chân PSEN\ của CPU sẽ được nối đến OE\ của EPROM để cho phép CPU gọi chương trình lưu trữ sẵn chứa trong EPROM. Mỗi SRAM và EPROM có dung lượng nhớ 8 Kbytes nên việc qui đònh nội dung đòa chỉ ô nhớ như sau: - Đối với EPROM do CPU có đặc điểm khi máy được cấp nguồn thì sẽ bắt đầu hoạt động ở đòa chỉ 0000H nên đòa chỉ của EPROM bắt đầu từ 0000H và kết thúc ở đòa chỉ 1FFFH. - Đối với SRAM, đòa chỉ bắt đầu là 8000H và kết thúc ở 9FFFH. Sở dó ta chọn đòa chỉ này vì theo thiếtkế phần cứng chân đòa chỉ cuối cùng của CPU (A 15 ) được dùng làm chân điều khiển và được nối đến chân CS\ của SRAM. IV. KHỐI CHỐT ĐỊA CHỈ: Trong máytínhcước này, CPU được dùng là vi điều khiển 8031 có đặc điểm là 8 bit thấp của đòa chỉ được đa hợp với 8 bit dữ liệu. Vi mạch dùng để chốt đòa chỉ là vi mạch chốt 74573. Vi mạch 74573 dùng để chốt đòa chỉ do CPU xuất ra: - 8 ngõ vào của 74573 được kết nối với 8 ngõ AD 0 … AD 7 (Port 0) của CPU 8031. - 8 ngõ ra của 74573 được kết nối với các đường đòa chỉ của SRAM và EPROM Vi mạch 74573 có 8 Flip-Flop D và 8 cổng đệm điều khiển. Tín hiệu điều khiển chốt đòa chỉ được CPU đưa ra ở chân ALE (Address Latch Enable) được nối vào chân C (Chip) của 74573. Ở nửa chu kỳ đầu của chương trình làm việc, các Flip-Flop D của 74573 sẽ chốt các đòa chỉ do CPU đưa tới, khi đó chân C ở mức 1. Ở nữa chu kỳ còn lại, C ở mức 0 dữ liệu xuất ra ở Q chính là dữ liệu ở các ngõ vào trước đó, lúc này các đường port 0 sẽ rãnh rỗi để nhận và xuất dữ liệu đến SRAM và EPROM. V. KHỐI NHẬN ÂM HIỆU – GIẢI MÃ BÀN PHÍM (ĐẢO CỰC – DTMF THU): * Khi thuê bao không được đặt ở chế độ đảo cực: - Lúc không đảo cực có nghóa là công tắc chân 1 và 2 được nối lại với nhau, chân TXD và RXD sẽ được truyền trực tiếp với nhau. - Để bắt đầu cuộc gọi khi thuê bao bắt đầu nhấc máy, và điều này báo hiệu cho tổng đài biết rằng thuê bao muốn thiết lập cuộc gọi, đồng thời ngõ ra P3.3 tức là chân INT1 của 8031 xuất ra mức logic 1 làm qua điện trở R6 để phân cực cho transistor Q1 hoạt động kéo theo các tiếp điểm của rơlay đóng lại. - Khi tổng đài nhận biết rằng có thuê bao muốn thiết lập cuộc gọi, thì tổng đài sẽ gửi tín hiệu mời quay số. Tín hiệu đó sẽ đi qua chân 6 và chân 7 của head 7 để sau đó tiếp tục đi vào mạch. - Một trong hai cặp tone theo chân 6 sẽ làm cho diode IS01 cháy để tác động làm 4N35 dẫn, điều này kéo theo chân TXD và RXD đều bò dẫn xuống mass. Lúc này chương trình phần mềm sẽ hiểu rằng khi RXD và TXD đều ở mức logic 0 là máy đang được cài đặt ở chế độ không được đảo cực. Tín hiệu sau khi qua ISO1, lại tiếp tục đi ra chân 5 của head7. - Một tín hiệu còn lại sẽ đi qua chân 7 của head7, qua tiếp điểm rơlay, qua điện trở R8, qua tụ điện C7, qua điện trở R9, đi vào chân đảo cực –IN của vi mạch MT8870. Tín hiệu đó sau khi vào bộ thu DTMF hoạt động ở chế độ tone. Sau đó tín hiệu sẽ quay trở ra theo đường chân GS qua điện trở R10 và chạy ngược ra chân 7 của head7. - Hai tín hiệu từ chân 7 và chân 5 sẽ tiếp tục đi vào máy thuê bao và tạimáy thuê bao sẽ nghe tín hiệu mời quay số của tổng đài. Sau đó thuê bao có thể quay số cần gọi. - Khi thuê bao nhấn số xong, thì sẽ có một cặp tín hiệu tone đi vào hai chân 5 và chân 7, tương tự như tín hiệu từ tổng đài tới, một trong hai tone theo chân 5 sẽ làm cho diode ISO2 cháy để tác động làm 4N35 dẫn. Điều này kéo theo chânTXD và RXD đều bò dẫn xuống mass. Lúc này chương trình phần mềm sẽ hiểu rằng khi TXD và RXD đều ở mức logic 0 là máy đang được cài đặt ở chế độ không đảo cực. Tín hiệu sau khi qua ISO2 lại tiếp tục đi ra chân 6 của head7. - Một tín hiệu còn lại sẽ đi qua chân 7 của head7, qua tiếp điểm rơlay, qua điện trở R8, qua tụ điện C7, qua điện trở R9, đi vào chân đảo cực –IN của vi mạch MT8870. Tín hiệu đó sau khi vào bộ thu DTMF hoạt động ở chế độ tone. Nó có tác dụng giải mã các phím bấm của của điện thoại thành các bit dữ liệu để vi xử lý nhận biết và xử lý. Sau đó tín hiệu sẽ quay trở ra theo đường chân GS qua điện trở R10 và chạy ngược ra chân 7 của head7. - Hai tín hiệu từ chân 6 và chân 7 sẽ tiếp tục đi ra tổng đài và tổng đài sẽ hiểu rằng có máy thuê bao muốn yêu cầu chuyển mạch tới máy thuê bao khác và sau đó có các thông báo ví dụ như tín hiệu hồi âm chuông tới thuê bao hoặc tín hiệu báo bận từ thuê bao cần liên lạc. - Khi bên thuê bao kia nhấc máy, tín hiệu thông qua chuyển mạch tự động của tổng đài sẽ vào chân 7 và chân 6 và tương tự như trên, lúc này RXD và TXD vẫn ở mức logic 0, chân STD của MT8870 đưa tín hiệu vào INT0 và chương trình phần mềm điều khiển xử lý sau 10s chân cho phép đọc RD\ của vi điều khiển 8031 sẽ qua các cổng logic và tác động vào chân TOE của MT8870 để cho phép các bit dữ liệu xuất ra qua Q 1 …Q 4 vào CPU để xử lý tính tiền. * Khi máy được cài ở chế độ đảo cực: - Điều kiện đầu tiên để máytínhcước hoạt động được ở chế độ là thuê bao phải đăng ký đảo cực tại tổng đài. - Khi máy được cài ở chế độ đảo cực, chân 1 và chân 2 sẽ để hở, chân RXD và TXD không còn được nối với nhau nữa. - Để tính tiền cuộc gọi, thuê bao bắt đầu nhấc máy, cũng tương tự như cuộc gọi không đảo cực khi tổng đài được yêu cầu phục vụ thì sẽ phát tín hiệu mời quay số vào chân 6 và chân 7, tín hiệu vào chân 6 sẽ làm cho ISO1 hoạt động và kích transistor dẫn kéo theo chân RXD sẽ được dẫn xuống mass tức là ở mức logic 0 và TXD thì được nối Vcc cho nên nó vẫn ở mức logic 1. - Tín hiệu qua ISO1 và đi ra máyđiện thoại theo chân 5 của head7, tín hiệu từ chân 7 của khối giải mã bàn phím sau đó đi ra máyđiện thọai để báo hiệu mời gọi. - Thuê bao bắt đầu quay số, tín hiệu vào mạch làm cho ISO1 chạy, tức là chân RXD ở mức logic 0 và TXD ở mức logic 1. Chương trình phần mềm sẽ nhận biết và xử lý rằng với mức logic của hai chân này thì cho phép mạch hoạt động ở chế độn đảo cực. - Sau khi tổng đài nhận biết rằng thuê bao này đã thực hiện đăng ký đảo cực tại tổng đài thì tổng đài sẽ bắt đầu tínhcước sau khi máy thuê bao bên kia nhấc máy. Sau khi thuê bao bên kia nhấc máy, thì ngoài việc tổng đài làm nhiệm vụ chuyển mạch thông thoại mà còn đưa tín hiệu đảo cực đưa về máy thuê bao. Tín hiệu đảo cực này sẽ đưa vào chân đảo –IN của MT8870. Lập tức sẽ có tín hiệu ngỏ ra chạy về INT0 của vi điều khiển 8031 và chương trình phần mềm sẽ điều khiển ngỏ ra cho phép đọc RD\ tác động vào chân TOE của MT8870 cho phép xuất dữ liệu vào CPU xử lý tính tiền hiển thò qua led. Tín hiệu sau khi vào MT8870 để xử lý thì quay ra để nối thông thoại với máy thuê bao. Khi cuộc gọi kết thúc máy sẽ hiển thò toàn bộ thời gian và số tiền kể từ khi thuê bao bên kia bắt đầu nhấc máy. * Tính R5 Khi dòng thuê bao nhấc máy, dòng thông thoại cấp cho thuê bao từ (20 – 100 )mA Cho dòng của tổng đài cấp cho thông thoại nhỏ nhất là 20mA. Chọn opto là 4N35, chọn dòng qua led là 4mA, điện áp sụt trên led opto là V = 2V. Dòng qua R5 là: I 5 = 20 – 4 = 16mA Chọn R 5 = 220 K I V R opto 125,1 16 2 55 * Giải mã DTMF: IC MT8870 sẽ giải mã sóng DTMF ra số BCD 4 bit và đưa tới CPU, đồng thời cũng tão ra một tín hiệu ngắt ở chân 15 (STD) đưa tới chân INT0\ của CPU tạo ngắt khi nhận một tín hiệu Tone vào. Chân 8 và chân 7 của MT8870 được nối tới một thạch anh 3,579 MHz, tần số của thạch anh này sẽ đem so sánh với các tần số của DTMF để tạo ra các số BCD 4 bit. Khi chân 10 ở mức thấp, MT8870sẽ tạo xung báo cho CPU biết qua chân INT0\ để tạo ngắt, khi đó CPU phải chuyển sang chế độ Tone. Lúc đó, vi mạch MT8870 sẽ nhập các số dưới dạng tín hiệu các mã sóng DTMF đồn thời các ngõ ra Q 1 …Q 4 ở mức tổng trở cao. Khi RD\ của CPU ở mức thấp và A 15 của CPU ở mức cao khi đó chân 10 (TOE) sẽ ở mức cao, MT8870 xuất ra dữ liệu. Sơ đồ kết nối MT8870: 8870 100K 100K 150K 104 3.57MHz 330K VCC INTO 104 A15 RD CPU Q1 Q2 Q3 Q4 2 3 16 15 11 10 7 8 1 4 5 6 9 18 17 14 13 12 . 4N 35, chọn dòng qua led là 4mA, điện áp sụt trên led opto là V = 2V. Dòng qua R5 là: I 5 = 20 – 4 = 16mA Chọn R 5 = 220 K I V R opto 1 25, 1 16 2 5. mạch. Từ những đặc điểm trên, bộ nhớ SRAM phù hợp với máy tính cước này. Vì máy có thể nhớ tới 255 cuộc đàm thoại bao gồm số tiền, số cuộc gọi,… nên SRAM