Độ chính xác của phương pháp này phụ thuộc vào độ tuyến tính của tín hiệu quét (sai số độ dốc càng nhỏ, độ chính xác càng cao), tín hiệu phụ thuộc vào tần số của từng xung. Phương pháp này có tốc độ hoạt động cao hơn các phương pháp ban đầu, và độ chính xác cũng cao hơn do không cần sử dụng bộ biến đổi DA. 4 – ADC xấp xỉ liên tiếp: Analog Input Vi Comparateur Vref Reference Digital output Hình 2.8 ADC xấp xỉ liên tiếp Phương pháp này được dùng trong kỹ thuật biến đổi AD tốc độ cao – trung bình. Nó cũng dùng một bộ DAC bên trong để tạo ra một điện áp bằng mức vào và của tín hiệu sau đúng bằng n chu kỳ xung Clock cho trường hợp ADC n bit. Phương pháp này cho phép rút ngắn Tc rất nhiều và không phụ thuộc vào tín hiệu vào Vi. Kỹ thuật này phụ thuộc vào sự xấp xỉ tín hiệu vào với mã nhò phân, SAR Clock DAC sau đó thay đổi các bit trong mã này một cách liên tiếp cho đến khi đạt được mã gần đúng nhất. Tại mỗi bước của quá trình này, giá trò xấp xỉ của mã nhò phân thu được sẽ được lưu vào SAR (Successive Approximate Register). Việc biến đổi luôn được bắt đầu tại MSB (Most Significant Bit) của SAR khi đó được bật lên. Bộ so sánh sẽ so sánh đầu ra của ADC với Vi và ra lệnh cho bộ điều khiển ngắt MSB nếu như giá trò ban đầu này vượt quá đầu vào AD. Trong chu kỳ xung Clock kế tiếp, MSB lại được phát trở lại. Một lần nữa bộ so sánh sẽ quyết đònh lấy hay bỏ MSB này. Sự biến đổi này sẽ tiến dần đến sự đúng nhất so với tín hiệu vào xuất dữ liệu này ra. DAC output 100 MSB LSB 1 1 0 SAR output Hình 2.9 Đồ thò dạng sóng của mạch 111 111 110 110 101 101 100 100 010 011 011 010 011 001 000 Hình 2.10 Sơ đồ thay đổi mức logic 5 – ADC tích phân hai độ dốc: Kỹ thuật này thấy rõ trên sơ đồ khối. Ta thấy điện áp vào được tích phân trong khoảng thời gian t 1 , đúng bằng lúc bộ đếm đếm hết. Tại cuối t 1 , bộ đếm sẽ reset và bộ tích phân chuyển qua mức tham chiếu âm, đầu ra của bộ tích phân sẽ Control logic Clock Coute giảm tuyến tính về zero tại đó bộ đếm ngưng đếm và được reset. Điện tích nạp tụ trong khoảng thời gian t gần bằng điện tích xả trong khoảng thời gian t 2 : t 1 x V 1 = t 2 x V 2 t 2 = V 1 = x t 1 V 2 Tỉ số x cũng chính là tỉ số mà mã nhò phân của bộ đếm lớn nhất giá trò đếm được vào cuối t 2 cũng là giá trò xuất ra. Kỹ thuật này có một số ưu điểm, nhất là chất lượng khử ồn. Tín hiệu vào được tích phân qua một chu kỳ, do đó bất kỳ mức ồn nào cũng có tần số là bội số của 1 /t 1 đều bò loại. Analog reference + Vr - - + Vi Digital Output Hình 2.11 Sơ đồ khối ADC tích phân hai độ dốc Chú ý rằng, tần số xung Clock không ảnh hưởng gì đến độ phân giải. Độ phân giải của kỹ thuật này chỉ bò giới hạn bởi chất lượng mạch và không phụ thuộc vào độ phi tuyến của bộ AD: Do đó đầu ra của bộ tích phân có thể nhảy cấp tự do mà không sợ phát sinh mã lỗi ở đầu ra. Vì vậy mà độ phân giải tốt rất dễ đạt được và có thể thay đổi bằng cách chỉnh kích thước của vòng đếm và tần số xung Clock. Tần số thấp là nhược điểm duy nhất của phương pháp. Phương pháp này thường được dùng cho các đồng hồ hiện số, máy đo đa năng chỉ thò số, cảm biến nhiệt độ và những ứng dụng có yêu cầu không cao về tần số lấy mẫu. 6 – ADC dùng biến đổi V – F (điện áp – tần số): VFC Bộ phát Bộ thu Đònh thời Đếm Digital output Hình 2.13 Sơ đồ khối bộ biến đổi AD dạng VF Hình trên cho thấy kỹ thuật này trong bộ biến đổi AD. Áp vào Analog được một bộ VF chính xác biến thành một dãy xung có tần số tỉ lệ với áp vào. Một bộ đếm sẽ đếm số xung này trong một khoãng thời gian nhất đònh rồi xuất số đếm cho bộ AD. Giống kỹ thuật tích phân độ dốc kép, kỹ thuật này có tần số thấp nhưng khử nhiễu tốt. Nếu thời gian Tc thấp ở mức có thể chấp nhận được thì phương pháp VF cho phép đạt được độ phân giải cao với tín hiệu thay đổi chậm với giá thành hạ. Ưu điểm của phương pháp này là có khả năng điều khiển từ xa trong môi trường ồn. Có thể làm một bộ VF như một hàm truyền dữ liệu từ xa dưới dạng số đến trạm kiểm soát, tại đây có bộ xử lý (tiếp nhận + bộ đếm + xuất dữ liệu). Điều này tránh được việc truyền tín hiệu Analog qua môi trường nhiễu có khả năng làm xấu tín hiệu. Việc truyền bằng tín hiệu VF cũng có khả năng triệt nhiễu bằng cách tạo sự cách ly giữa bộ biến đổi với thiết bò cảm biến, một yêu cầu quan trọng trong các trạm kiểm soát và điều khiển các hệ thống điện cao áp. Thực tế, kỹ thuật này phụ thuộc vào các vi mạch VFC thông dụng, rẻ tiền, có chất lượng tốt (tuyến tính và ổn đònh). 7 – ADC song song: Vr Vi R Digital output R R 2 2 n-1 Comparator Hình 2.14 Sơ đồ khối AD song song Được dùng trong kỹ thuật cần biến đổi AD tốc độ cao, như kỹ thuật Video, kỹ thuật Radar, dao động ký số. Trong kỹ thuật này tín hiệu vào được so sánh ngay lập tức với tất cả các mức ngưỡng bằng cách dùng nhiều bộ so sánh. Việc lượng tử hóa do vậy thực hiện hoàn tất trong cùng một lúc. Bộ giải mã nhanh lập tức đổi các tín hiệu so sánh được tới đầu ra. ADC dùng phương pháp này có tần số lấy nẫu phụ thuộc vào tốc độ (thời gian trễ) của các bộ so sánh. Thông thøng vi mạch so sánh có thời gian trễ trong khoảng 10-12ns, vì vậy trên lý thuyết, tần số lấy mẫu của ADC có độ phân giải 8 Bits cần tới 2 8 – 1=255 bộ so sánh, do vậy kích thước vi mạch sẽ rất lớn. Encode r III – GIAO TIẾP PHẦN MỀM: Dữ liệu truyền giữa ADC và vi xử lý có thể tổ chức trong phần mềm theo 3 cách: 1 – Memory – Mapped – Transfers (Truyền theo bản đồ nhớ): Trong bản đồ bộ nhớ, ADC được chỉ đònh trong một vùng bộ nhớ thực sự chưa sử dụng. Bên cạnh việc sử dụng tối đa bộ nhớ, ta có dùng phần cứng giải mã đòa chỉ từ tối thiểu đến tối đa để không lãng phí không gian trong bộ nhớ. 2 – Input / Output Mapped Tranfers (Truyền theo bản đồ I/O): Một vài hệ thống tạo ra vùng I/O có đòa chỉ rất riêng biệt, mà ở đó đòa chỉ có thể giống đòa chỉ bộ nhớ, có thể phân biệt chúng với nhau bằng cách dùng tín hiệu điều khiển đặc biệt IOR, IOW trên hệ thống Bus của IBM – PC. Sự phân biệt giữa I/O và 2 vùng bộ nhớ làm cho thiết kế hệ thống trở nên tốt hơn. Nó cho phép giải mã đòa chỉ sử dụng phần cứng là tối thiểu, giải mã từ vùng IO đơn giản và tốt hơn bộ nhớ có giá trò chưa sử dụng. 3 – DMA (Direct Memory Access : truy mất trực tiếp bộ nhớ): Khi chỉ có truyền dữ liệu đơn giản giữa bộ nhớ và ngoại vi được dùng tích lũy trong quá trình chuyền làm chậm quá trình một cách không cần thiết. Bằng việc sử dụng kết hợp trong phần cứng trong dạng thiết bò phục vụ gọi là “điều khiển DMA”. Việc truyền trực tiếp có tác động nhanh hơn nhiều, hầu hết các bộ vi xử lý cho phép DMA thực hiện đầy đủ bằng cách cấp điều khiển của Bus hệ thống cho khoảng đònh trước. Điều khiển DMA lấy đòa chỉ yêu cầu và tín hiệu điều khiển. Tại cuối khoảng, điều khiển Bus quay lại vi xử lý. Truyền dữ liệu hoàn toàn có thể lấy nhiều chu kỳ DMA để thi hành. IV – GIAO TIẾP PHẦN CỨNG: Thiết kế phần cứng theo mô hình dữ liệu song song hay nối tiếp. 1 – Dữ liệu truyền song song: Phần cứng cho giao tiếp dữ liệu song song hầu hết bao gồm ngõ ra đệm ba trạng thái mà ADC nối với Bus dữ liệu của vi xử lý. Đòa chỉ giải mã và tín hiệu điều khiển ghi đọc của cho phép đệm truyền dữ liệu ADC vào P. Giải mã tương ứng và tín hiệu điều khiển của P tạo thành lệnh bắt đầu cho bộ biến đổi. Nó không cần dùng điều khiển R/W riêng biệt, dù sao việc làm này cho phép đòa chỉ giống nhau cho việc gởi lệnh đến ADC và để đọc ngõ ra ADC. Các ADC mới hơn có bộ đệm ba trạng thái với mạch điều khiển của chúng. Những ADC này có thể nối trực tiếp với Bus dữ liệu của vi xử lý. Giao tiếp nhiều thiết bò, thì ta phải cung cấp giải mã và đôi khi phải một vài cổng quản lý tín hiệu điều khiển. Giao tiếp với hệ thống P thì đơn giản bởi vì P cung cấp đòa chỉ Port trực tiếp và việc giải mã đòa chỉ là không cần thiết. 2 – Mô hình dữ liệu nối tiếp : Dùng trong việc truyền dữ liệu đi xa. Truyền đồng bộ nối tiếp dùng cho tuyến phục vụ hay tuyến điện thoại. Thiết bò gọi là UART (truyền nhận không hoàn toàn đồng bộ). UART nhận và truyền dữ liệu dạng tuần tự nhưng giao tiếp với P dạng song song. B – BIẾN ĐỔI TƯƠNG TỰ SỐ (DAC) : Biến đổi DA thường là giai đoạn cuối của một hệ thống xử lý số: Sau khi tín hiệu tương tự ở đầu vào được mạch ADC biến đổi sang dạng số, nó được xử lý, lưu trữ dưới dạng số bởi hệ xử lý trung tâm rồi kết quả xử lý sẽ được đưa đến mạch DAC để xuất ra dữ liệu dạng tương tự. Mạch DAC nhận ở đầu vào một giá trò số nhò phân tự nhiên và xuất ra ở ngõ ra một điện áp dạng tương tự có giá trò tỉ lệ với giá trò ngõ vào. I – TỔNG QUÁT: 1 – Quan hệ vào ra: Vref V 0 (I 0 ) DAC Digital input Hình 2.15 Quan hệ vào ra bộ DAC Biến đổi DA có tính chất tỉ lệ. Tín hiệu vào Digital N được biến đổi thành một điện áp (hoặc dòng điện) có giá trò Q (phụ thuộc vào tín hiệu tham chiếu Vref) bằng cách so sánh giá trò ở đầu vào với giá trò đầy thang của đầu vào. Bất kỳ một sai số tín hiệu Vref nào cũng sẽ dẫn tới sai số mức ra, vì vậy người ta cố gắng cho Vref càng ổn đònh càng tốt. Thông thường, ở các bộ biến đổi DAC thương mại, ngõ ra sẽ xuất hiện dòng điện, vì vậy ta phải mắc thêm một biến đổi dòng thành áp có thể nhận được điện áp ra. 2 – Đầu vào bộ DAC: Đa số các bộ DAC có đầu vào 8 Bits, 10 Bits, 12 Bits, 16 Bits … Đầu vào các bộ DAC thường là các mã nhò phân tự nhiên hoặc có dấu. Nếu mã đầu vào đầu vào có dấu thì tín hiệu tham chiếu Vref phải là tín hiệu lưỡng cực. Bộ DAC sẽ liên tục biến đổi số ở ngõ vào thành giá trò tương tự ở ngõ ra, thời gian cho một lần biến đổi như vậy tùy theo bộ DAC. Vì vậy để đảm bảo chính xác, người ta mắc thêm ở ngõ vào bộ DAC một mạch chốt dữ liệu để tránh hiện tượng bộ DAC xuất ra tín hiệu không xác đònh trong khoảng thời gian tự do giữa hai lần cập nhật dữ liệu ở ngõ vào. 3 – Đầu ra bộ DAC Tùy theo công nghệ chế tạo mà đầu ra của bộ DAC có thể là dòng hoặc áp. 4 – Tín hiệu điều khiển: Hầu hết các bộ DAC đều không cần tín hiệu điều khiển. II – GIAO TIẾP DAC VỚI VI XỬ LÝ: 1 – Xuất dữ liệu tuần tự: Khi có yêu cầu xuất một chuỗi dữ liệu ra cổng, phần mềm xử lý sẽ tuần tự xuất từng Byte dữ liệu trong bộ đệm ra cổng. Để tạo được tần số xuất theo mong muốn, đầu tiên chương trình phải tính được tốc độ của CPU có thể xuất ra cổng giao tiếp trong một dòch vụ thời gian (1 giây). Từ thông tin đó, phần mềm có thể tính được thời gian trễ (Delay) giưã hai lần xuất dữ liệu để tạo ra tần số xuất theo yêu cầu. Phương pháp này tạo ra tần số xuất dữ liệu rất cao (lên tới khoảng 40Khz hoặc cao hơn tùy theo kiểu máy tính), nhưng tần số rất khó để có thể tạo ra một cách chính xác. Mặt khác CPU cũng sẽ bò bận trong suốt quá trình xuất dữ liệu. 2 – Cài đặt một ngắt ngoại vi: Phương pháp này sử dụng xung Start để mạch lấy mẫu ADC để kích hoạt một chương trình phục vụ ngắt, chương trình phục vụ này sẽ làm nhiệm vụ xuất một Byte dữ liệu ra cổng. Xung Start ở được lợi dụng để tạo ra một tần số kích ngắt bằng tần số lấy mẫu. 3 – Sử dụng ngắt đồng hồ: Ta biết rằng trong hệ thống của máy tính có ngắt số 8 là một ngắt có kích hoạt đònh kỳ theo thời gian, gọi là ngắt đồng hồ, chu kỳ kích ngắt có thể có thể thay đổi được bằng cách lập trình cho bộ đònh thì 8253. Lợi dụng ngắt có sẵn này, ta có cài thêm một chương trình phục vụ ngắt của máy rồi lập trình cho bộ 8253 để tạo ra một tần số kích ngắt theo mong muốn. Chương II G G I I A A O O T T I I E E Á Á P P N N G G O O A A Ï Ï I I V V I I 8 8 2 2 5 5 5 5 A A PPI 8255A (PROGRAMABLE PARALLEL INTERFACE) I – TỔNG QUÁT: 1 – Bộ đệm truyền dữ liệu: Bộ đệm 8 Bits, 2 chiều, 3 trạng thái dùng để giao tiếp 8255 với CPU. Dữ kiện được phát hay nhận bởi bộ đệm khi thực hiện lệnh IN, OUT bởi CPU. Các từ điều khiển cũng truyền qua dữ kiện. I/O PA0-DA7 I/O PC4-PC7 I/O PC0-PO3 I/O PB0-PB7 Hình 3.1 Cấu trúc khối của 8255 2 – Phần kiểm soát đọc ghi: Chức năng của khối này là kiểm soát tất cả các sự truyền đạt bên trong và bên ngoài của từ điều khiển và dữ kiện. Nó nhận ngõ vào từ tuyến đòa chỉ và sự điều khiển của CPU, phát ra các lệnh cần thiết cho cả hai nhóm A và B. CS: ngõ vào = 0 cho phép truyền tin giữa 8255 và CPU. RD: = 0 cho phép 8255 gởi dữ kiện đến CPU trên tuyến dữ kiện chủ yếu là cho phép CPU đọc dữ kiện từ 8255. WR=0 – CPU từ điều khiển hay dữ kiện ra 8255. Đệm dữ kiện Điều khiển Nhóm A Nhóm A Cửa A Nhóm A Cửa C Phần cao Nhóm B Cửa C Phần thấp Nhóm B Cửa B Kiểm soát đọc ghi Điều khiển nhóm B . bò bận trong suốt quá trình xuất dữ liệu. 2 – Cài đặt một ngắt ngoại vi: Phương pháp này sử dụng xung Start để mạch lấy mẫu ADC để kích hoạt một chương trình phục vụ ngắt, chương trình phục. song song. B – BIẾN ĐỔI TƯƠNG TỰ SỐ (DAC) : Biến đổi DA thường là giai đoạn cuối của một hệ thống xử lý số: Sau khi tín hiệu tương tự ở đầu vào được mạch ADC biến đổi sang dạng số, nó được. TỔNG QUÁT: 1 – Quan hệ vào ra: Vref V 0 (I 0 ) DAC Digital input Hình 2.15 Quan hệ vào ra bộ DAC Biến đổi DA có tính chất tỉ lệ. Tín hiệu vào Digital N được biến đổi thành một