Lời nói đầu
Ngày nay cùng với sự phát triển mạnh mẽ của khoa học kỹ thuật, vai trò của kỹ thuật số, kỹ thuật máy tính ngày càng trở nên to lớn Nó xâm nhập vào
mọi lãnh vực của đời sống xã hội Nó thúc đây tự động hoá sản xuất, cũng như
các sinh hoạt của con người
Trong khuôn khổ của một đề tài thực tập, dựa trên các nhu cầu thực tế, với nhiệm vụ thiết kế hệ thống ghi âm số điện thoại 8 kênh tự động, em đã tham khảo các mơ hình đã có, đưa ra một số phương án khả thi Phương án tối ưu nhất được thiết kế sơ đồ khối, sơ đồ ghép nối và các môdule phần mềm
Trong quá trình thực tập em cũng học được nhiều kiến thức và kinh
nghiệm mới, tuy nhiên do trình độ cịn hạn hẹp, ít kinh nghiệm nên đề tài còn
nhiều thiếu sót
Em xin chân thành cảm ơn thầy Bùi Quốc Anh đã ln tận tình hướng dẫn
Trang 2Thiết hế hệ thống ghỉ âm so
I.Nhiệm vụ
Hệ thống ghi âm số cần thực hiện những nhiệm vụ sau: - _ Thu tín hiệu thoại đồng thời trực tiếp từ 8 kênh thoại
- _ Mã hoá thành tín hiệu số
- _ Tổ chức lưu trữ
- Playback
Phần cứng của hệ thống gồm
- Mach thu va chuyén đổi tín hiệu tiếng nói
- _ Khối điều khiển
- Luu tr?
- Playback(Sound card)
Phần mềm bao gồm
- _ Chương trình điều khiển thu tín hiệu thoại
- Tổ chức lưu trữ thành file
- - Chương trình playback
Chuyển Khôi Playback
8 Phone | đôi tín điêu
hiệu khiển
=—
Sơ đồ khối của hệ thống ghi âm
Hệ thống có nhiệm vụ ghi âm điện thoại đồng thời trên 8 kênh Do vậy yêu
cầu đầu tiên là phải ghi đây đủ, chính xác mọi cuộc thoại tại tất cả các kênh
Các kênh thoại là ngẫu nhiên Trong tình huống lớn nhất là cả 8 kênh cùng có
Trang 3Tín hiệu thoại là tín hiệu tiếng nói, để xử lý và lưu trữ cần phải chuyển về tín hiệu số Dựa các đặc tính của tín hiệu tiếng nói ta có thể mã hoá PCM 8bit theo luật u hoặc luật A, vừa tiết kiệm dung lượng lưu trữ, đường truyền vẫn đảm bảo được chất lượng âm thanh
Việc ghi âm các cuộc đàm thoại chủ yếu phục vụ cho việc giám sát, do đó
các cuộc thoại phải được lưu trữ hợp lý, dạng cơ sở dữ liệu để dễ dàng cho việc
tìm kiếm, playback Phải lưu trữ đầy đủ các thông tin của cuộc đàm thoại như thời lượng, thời gian bắt đầu,kết thúc Cập nhật các cuộc thoại theo thời gian thực, nên cơ sở dữ liệu cần tổ chức để đáp ứng được tốc độ của hệ thống Các cuộc thoại phải được lưu trữ trong một thời gian nhất định(1,2 năm) nên tiết bị lưu trữ cần có dung lượng đủ lớn
Phát lại các cuộc thoại diễn ra đồng thời với việc ghi âm Hệ thống cần xây dựng chương trình điều khiển soundcard, chương trình ứng dụng để truy
cập cơ sở dữ liệu và phát lại các cuộc thoại thông qua sound card
II Phương án hiện có
Hiện nay, tại một số cơ sở có nhu cầu ghi âm điện thoại được trang bị các
máy ghi âm công nghiệp của nước ngoài, giá thành khá cao khoảng vài trăm triệu VND
Tại trung tâm điều độ lưới điện miền Bắc A1, đang sử dụng thiết bị ghi âm
CR500T comunication recorder cua hang TEAC corporation
Thiết bị này sử dụng một hệ vi xử lý chuyên dụng, ghi âm trực tiếp từ đường điện thoại Sau đây là một số đặc điểm kỹ thuật của thiết bị này
1 Mô tả sơ bộ
+Thiết bị cho phép ghi lại các cuộc đàm thoại có thời lượng dài
+Có khả năng thu từ 8 đến 56 kênh htoại đồng thời, có các chế độ 8, 16,
24, 32, 40, 48, 56 kênh
Trang 4Thiết hế hệ thống ghỉ âm so
+Thông tin được lưu trữ trên băng từ : DAI (DDS2 standard), 3.5” MO(magneto optical) drive (ISO/IEC CD15041 standard) hoac 5” MO drive (ISO/IEC CD14517 standard)
2 Dac diém
+ Ghi âm hiệu quả: Một băng ghi đơn DDS2- standard cé thé ghi 850 gid’ kênh Một đĩa 3.5” MO 640MB ghi được 150 giờ kênh
+ Hai driver điều khiển ghi âm: cho phép thay đổi chế độ: serial mode hay
dual mode
+ Khối xác định tín hiệu thoại chuyên dụng
+ Bộ Time code + Recall
+ Playback trong khi recording
+ Có khả năng tìm kiếm các cuộc đàm thoại theo thời gian cuộc gọi hoặc
theo số của cuộc gọi
+ Điều chỉnh tốc độ play cho phù hợp với người nghe lại cuộc gọi + Có thể phát lẫn nhiều kênh đồng thời
+ C6 thé ty động xác định thời điểm bắt đầu cuộc gọi để ghi âm do có hỗ
trợ VOX
3 Các khối chức năng chính
+Recording
e Thiét bi nay hé tro’ 3 kiéu ghi Am Mỗi kênh có thể sử dụng một kiểu
ghi am khac nhau:
- _ Ghi âm từ thời điểm bắt đầu liên lạc(OFF HOOK) đến thời điểm kết thúc liên lạc(ON HOOK) bừng cách xác định dòng điện trên đường dây điện thoại
- - Ghi âm voice, sử dụng chức năng VOX Khi trên kênh thoại khơng
có tín hiệu thoại trên 6 giây sẽ kết thúc ghi âm
- _ Ghi âm đặc biệt dùng cho các tín hiệu điều khiển mở rộng
e Ghi 10 chữ số cuối cùng bằng việc xác định tín hiệu DTMF của mỗi cuộc gọi
Trang 5eGhi thông tin về cuộc gọi
Số thứ tự kênh của cuộc gọi Thời điểm bắt đầu cuộc gọi Thời điểm kết thúc cuộc gọi Số điện thoại gọi(DTMF) e Ghi thời gian ngày tháng bắt đầu cuộc gọi
e Dual operation
e Serial operation e Endless operation
e Single operation
+Playback and monitor
e Chức năng monitor: Có thể nghe 4 kênh đồng thời( cũng có thể tất cả
các kênh) Trong khi đang, có thể giám sát voice input của mỗi kênh
e Tìm kiếm : Có thể tìm theo thời gian hoặc số cuộc gọi
e Instant recall
e Pause : pause play mode e Skip Forward va Skip back
e FAST/SLOW
e Fast Forward va rewind + Time code
e Xac dinh thoi gian theo : Year, Month, Day, Hour, Minute
e Có thể lựa chọn time code IRIG-B
e Đồng bộ cho hai hoặc nhiều CR-500 cùng hoạt động + Điều hành từ xa và báo động
e Điều hành từ xa
- Điều khiển từ xa dùng RS-232C
- Không đồng bộ, 9600(mặc định),19200,38400,57600,115200 bps
- 8 bits data, 1 bit stop, no parity, no procedure
Trang 6Thiết hế hệ thống ghỉ âm so + Các chức năng khác:
e Man hinh LCD 4 characters x 4 lines
e UPS cấp nguồn thêm 5 phút kể từ khi mất nguồn cấp
e Power switch OFF protect
e Chức năng tự kiểm tra khi các thiết bị khi bắt đầu hoạt động 4.Các thông số
+ Voice System
e Tần số lấy mẫu 8Khz e Số bit lượng tử 8 bits(bằng luật u) e Dải tần 300 đến 3400Hz
e S/N ratio 40dB hoặc hơn
e Input level (-50 đến 0 dBV) với AGC
e Dai AGC -50 đến -30 dBV(-48 đến -—28dBm) at maximum
sensitivity -20 dén 0 dBV(-18 dén 2 dBm) at maximum sensitivity eTrở kháng đầu vào = 10kQ_hoac hon(tai 1kHz)
eMonitor output -2.2dBVx1(RCA pin jack, AUX |/Oconnector)
-40dBVx1(3.5 @ jack)
e Speaker output 0.5W e Earphone output 1mW
se Dải Biến đổi VOX _-50 đến -20 dBV
e BEEP TONE output -30dBm hoặc nhỏ hơn(FCC standard) + Hệ thống điều khiển
e Phương tiện ghi âm
-Băng từ theo chuẩn DDS standart 60m(1.3GB) 90m(2GB)
e DDS driver theo chuẩn DDS standard, không nén e Thời gian ghi âm
-CR-500T 120m tape ghi được 850 giờ kênh
Trang 7e Nguồn cấp 90 — 132 VAC, 50/60 Hz e Tiêu thụ nguồn 160 -200 VA
Đây là một thiết bị ghi âm chuyên dụng, do vậy có nhiều ưu điểm Có thể ghi âm đồng thời được 56 kênh
Có khả năng xác định tín hiệu thoại: tín hiệu Hook-off, tín hiệu âm thanh
Nhiều chế độ linh hoạt
Playbach trộn lẫn nhiều kênh Nhiều chức năng kèm theo khác Có giao tiếp RS-232
Thiết bị độc lập gọn nhẹ Tuy nhiên, nó cũng có một số nhược điểm:
Giá thành quá cao
Giao diện kém
Khả năng tìm kiếm khơng linh hoạt
Trang 8Thiết hế hệ thống ghỉ âm so
III Các phương án đề xuất
Dựa trên phân tích nhiệm vụ của hệ thống, đây là một hệ vi xử lý thời gian thực Có thể xây dựng hệ thống theo các phương án sau:
- _ Xây dựng hệ nhúng dựa trên các vi điều khiển - _ Xây dựng vi mạch nối ghép với máy tính 1 Xây dựng hệ thống ghi âm sử dụng vi điều khiển
Xác Mã
Phone định | voice | hoa controll Souncard
trạng thái tín 1 Micro
tín hiệu data Controller
hiệu
status
Database
Sơ đồ khối của hệ thống
Tín hiệu thoại được đưa qua bộ phận xác định trạng thái tín hiệu trên
đường dây điện để xác định xem kênh thoại có được kết nối hay khơng Tín hiệu trạng thái sẽ được đưa đến vi điều khiển Tín hiệu thoại được đưa vào khối mã
hoá thành dạng dữ liệu PCM Dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu Khi có
yêu cầu playback, dữ liệu sẽ được đưa qua soundcard ra loa
Trên sơ đồ khối, vi điều khiển phải nối ghép với khối thu thoại, khối lưu trữ, khối play back
Vì đây là ứng dụng thời gian thực nên vi điều khiển cũng phải có khả năng xử lý thời gian thực, có thể là các vi điều khiển thuộc dòng RISC
Trang 9thì cần lập trình điều khiển đĩa, tổ chức file Do đó chỉ phí cho xây dựng phần
mềm điều khiển là rất lớn Những vi điều khiển có kèm hệ điều hành thì giá
thành cao Bộ nhớ sử dụng công nghệ Flash, hiện nay có dung lượng nhỏ và giá
thành rất cao Hơn nữa, vẫn phải xây dựng file system
Việc xây dựng khối playback, ta có thể sử dụng các vi mạch DAC, DSP để thiết kế một soundcard Việc thiết kế này còn phức tạp hơn nhiệm vụ chính của hệ thống ghi âm Có thể tạo các bus mở rộng như ISA để phối ghép với các soundcard có sẵn Ta cũng có thể sử dụng riêng một máy tính PC có soundcard,
chạy chương trình ứng dụng truy cập cơ sở dữ liệu để playback
Phương án này đòi hỏi xây dựng phần cứng khá phức tạp Khối lượng cho phần mềm hệ thống cũng rất lớn Do vậy chỉ phí thực hiện sẽ lớn
2 Sử dụng card thu thoại ghép nối với PC
PC là một hệ vi xử lý đa năng Hiện nay PC ngày càng phổ biến và giá thành rẻ PC có nhiều lựa chọn để mở rộng qua các rãnh cắm mở rộng ISA, PCI, USB hoặc các cổng vào ra
Một trong nhưng ưu điểm lớn trong việc sử dụng PC là PC đã có các hệ điều hành hoàn chỉnh Việc điều khiển phối ghép với đĩa cứng hay soundcard được hệ điều hành hỗ trợ Hệ thống file đã có sẵn
PC có giao diện thuận tiện, dễ xây dựng các ứng dụng trên đó Hơn nữa ta vẫn có thê sử dụng máy PC cho nhiều chức năng khác ngoài chức năng điều khiển ghi âm
IV Thiết kế hệ thống ghi âm số điều khiển bằng PC
Hệ thống bao gồm các thiết bị phần cứng và các module phần mềm Phần cứng của hệ thống ghi âm số nhiều kênh dùng PC cần phải xây dựng là card thu thoại nhiều kênh
Các module phần mềm bao gồm:
- _ Phần mềm điều khiển card thu thoại - _ Tổ chức cơ sở dữ liệu
- _ Điều khiển soundcard
Trang 10Thiết hế hệ thống ghỉ âm so
1 Card thu thoại nhiều kênh
Bản mạch mở rộng có thể được nối ghép với PC qua bus ISA, USB hay
cổng máy in Mạch phải có khả năng thu được đồng thời cả 8 kênh Tín hiệu
thoại được mã hoá PCM 8 bit, tần số lấy mẫu là 8 kHz, thì tốc độ truyền dữ liệu
âm thanh phải đạt 64kbyte/s Ngoài ra cịn có tín hiệu trạng thái, điều khiển và
trễ của PC, do vậy tốc độ bus mở rộng phải đạt vài trăm kbyte/s Các bus ISA,
USB có thể đáp ứng được tốc độ này, nhưng có thể nối ghép qua cổng LPT vừa đơn giản, vừa đạt yêu cầu tốc độ Cổng LPT ở chế độ EPP có thể truyền dữ liệu với tốc độ từ 500KByte-2Mbyte phone C Đệm Xác định O SIPO 8bit trang thai D Q kénh a E C Line ⁄ ⁄ SYNC ⁄ MUX ⁄ 8x8 1 ⁄ ⁄ ⁄ — AND
Thanh ghi trạng thái kênh |——
Status
Sơ đồ khối của vi mạch thu thoại Card thu thoại gồm các khối chức năng sau:
e Khôi xác định trạng thái tín hiệu:
Khơi này có nhiệm vụ xác định loại tín hiệu trên đường điện thoại được
đưa tới.Có nhiều cách xác định trạng thái:
Select
⁄ Data
PC
- Xác định xem hiện có kết nối hay không kết nối(Hook-
on,Hook-off)
- _ Xác định xem có tín hiệu thoại hay không
Trang 11Một máy điện thoại đều phải gồm có hai phần mạch cơ bản, đó là mạch
thu phát tín hiệu chuông và mạch đàm thoại Bộ xác định trạng thái sẽ xác định
thời điểm máy điện thoại chuyển sang kênh thoại(Hook-on) để báo cho hệ thống
biết sẵn sàng ghi âm kênh đó Nếu kênh liên tục ở trạng thái ghi âm thì sau 1
chu kỳ ghi âm của kênh(ghi 1 byte dữ liệu dạng PCM), thì khối này lại ghi vào thanh ghi trạng thái thông tin về kênh Các tín hiệu trạng thái kênh kết hợp lại
qua cổng AND tạo thành yêu cầu ngắt đưa về CPU
e Codec:
Codec là bộ mã hố và giải mã tín hiệu Một số vi mạch codec dành riêng cho tín hiệu tiếng nói Khối này có nhiệm vụ chuyển đổi ADC,mã hố tín hiệu
tiếng nói thành dạng PCM 8 bit theo luật u Vi mạch TP3054 của National là một
IC chuyên dùng cho mã hoá tiếng nói Tín hiệu vào là tín hiệu tiếng nói trên điện thoại đưa đến chân VFx.Tín hiệu đưa ra là nối tiếp tại đầu ra 3 trạng thái Dx Chu kỳ lấy mẫu được đưa vào chân FS,(8kHz) Sau 8 chu kỳ đồng hồ tại chân
BCLKx thi TP3054 sé dua ra dữ liệu mã hoá của một mẫu Dữ liệu này sẽ được
đưa qua bộ đệm để chuyển nối tiếp thành song song (SIPO)vào xử lý se Bộ dồn kênh:
Bộ dồn kênh bao gồm 8 khối Mux 8-1 có khả năng chuyển song song một byte dữ liệu của một kênh được chọn về PC 8 đầu ra của MUX sẽ nối với thanh ghi dữ liệu của cổng LPT Tín hiệu chọn kênh và tín hiệu chuyển dữ liệu đưa ra từ PC và được điều khiển bằng chương trình con phục vụ ngắt
se Thanh ghi trạng thái kênh - -
Thanh ghi này là thanh ghi 8 bit, có thê vào ra song song Mỗi bit của
thanh ghi là cờ của kênh, báo hiệu trạng thái của kênh là đang kết nối hay
không
Bit ¡ =0 kênh đang rỗi
=1 kênh bận(active)
Tín hiệu trạng thái của các kênh được đưa đến đầu vào song song của
thanh ghi PC sẽ đọc nội dung của thanh ghi khi xử lý ngắt Hoạt động :
Trang 12
Thiết hế hệ thống ghỉ âm so
Tín hiệu điện thoại qua khối xác định trạng thái kênh Nếu 1 kênh có kết nối sẽ tạo một ngắt đưa về PC đồng thời ghi vào thanh ghi trạng thái và chuyển
tín hiệu thoại sang bộ codec Bộ codec sẽ mã hố tín hiệu âm thanh thành dạng PCM 8bit, đưa ra bộ đệm SIPO, sau đó chuyển đên MUX Chương trình con
phục vụ ngắt sẽ đọc thanh ghi trạng thái xác định các kênh active, rồi thực hiện
một vòng lặp lấy dữ liệu từ các kênh đang active
#688818 _ W408 lod han
hnnel ache Clk, oe BoSBE
the tha, $3866 85 W403 ld n<Bo8ae $3666 85 #4LSIú4 oc S885 gvavaeaga LEB SE EEE ae heel TOC , on
beset? See | | eee Ste ele
EEEEE0B7 4 L auaBỗ +4 P3666 85 4L5 l4 “~EEBE85 $B885 55 34LSlú4 7" 55688 1 Rsv FSaU Che FSx*? naa ii: 1= £30665 ?4L5Slú4 a<85888 $866889880 ##88B1ñ a ae #4LŠSIú4 "<85BBB IRQ
Sơ đồ nguyên lý của card thu thoại
Trang 13
Trên sơ đồ ghép nối sử dụng các IC sau:
IC TP3054 : b6 codec
IC TP3155: khối tạo xung đồng bộ cho TP3054
IC 74LS164: thanh ghi dịch SIPO 8bit IC 74LS151: MUX 8-1
IC MUX 2-1
IC 74199: thanh ghi vao ra song song 8 bit
2 Tổ chức cơ sở dữ liệu
Dữ liệu lưu trữ là các file âm thanh dưới định dạng file ".wav dang PCM 8 bit Những dữ liệu này sẽ được cập nhật bởi hệ thống ghi âm và được truy
xuất bởi trình ứng dung playback dé giám sát, kiểm tra nội dung các cuộc thoại Do vậy, dữ liệu cần phải được tổ chức sao cho cập nhật nhanh rong gian thực, dễ dàng tìm kiếm
Sử dụng PC có sẵn hệ điều hành, thì việc tổ chức lưu trữ trên những đĩa cứng dung lượng lớn trở nên dễ dàng Trong việc giám sát các cuộc gọi, một thông tin quan trọng nhất để xác định các cuộc gọi là thời gian diễn ra các cuộc
gọi Do đó hệ thống tổ chức lưu trữ các file âm thanh sẽ được lưu theo cơ chế phân cấp về thời gian Dữ liệu lưu trữ của hệ thống sẽ lưu trữ theo từng năm Tất cả các cuộc gọi ghi được trong năm sẽ lưu trữ theo một thư mục với tên
yearxxxx(xxxx: tên năm) Trong mỗi thư mục năm sẽ có một file ghi thông
tinphục vụ cho việc cập nhật và tìm kiếm :info.rcd Mọi truy cập đến các cuộc
thoại được ghi trong một năm đều phải truy cập qua file này Mỗi một cuộc thoại
của mỗi kênh sẽ được lưu vào các file *wav riêng
File info.rcd chứa một số các cấu trúc dữ liệu cơ bản để phục vụ cho việc
cập nhật và tìm kiếm được nhanh chóng
Phần đầu file là một mảng cố định hai chiều các bản ghi Mỗi phần tử của mảng này là header của một danh sách liên kết Cấu trúc của phần tử Header
so với các phần tử còn lại trong danh sách liên kết là khác nhau
Trang 14Thiết hế hệ thong ghi 4m so CH1 CH2 CH3 CH4 CH5 CH6 CH7 CH8 File .wav File .wav NULL 372 File pan * wav File File * wav * wav —— NULL File * wav
Cấu trúc dữ liệu của file ínfo.rcd để quản lý các file *.wav
Thông tin về các file *.wav được phân cấp theo kênh và theo thời gian
Thời gian được phân cấp theo tháng, ngày, giờ phút, giây
Mảng hai chiều Manage sẽ cung cấp thông tin về kênh, tháng và ngày Mỗi phần tử của mảng sẽ là Header của danh sách liên kết chứa thông tin về
các cuộc thoại của một kênh trong một ngày
Cấu trúc của một phân tử của mảng hai chiều:
struct channeldate
{
int Totalfile; int Firstposition;
/ỗng số cuộc gọi trong một ngày ⁄ vị trí của phân tử đầu tiên của /danh sách liên kết trong file
Trang 15
conversation * Firstlink;/⁄ con trỏ tới phân tử dau tiên ⁄ của danh sách liên kết
}
Để truy cập đến bảng thông tin kênh c,tại ngày thứ d tháng m, thì địa chỉ
của nó là:
Manage [c] [(m-1)*31+d]
Cột là thông tin về kênh, hàng thông tin về ngày trong năm Mỗi cột sẽ có 372 phần tử, do quy ước tất cả các tháng trong năm đều có 31 ngày để có được cơng thức truy cập mảng trực tiếp
Danh sách liên kết đơn mang thông tin của các cuộc thoại trong ngày được ghi theo trật tự thời gian Cấu trúc của một phần tử trong danh sách liên
kết:
struct conversation
{
int hour; /giờ cuộc thoại bắt đầu int minute; Zphút cuộc thoại bắt đầu int second; /giây cuộc thoại bắt đầu
int longtime; thời gian cuộc gọi tính bằng giây int dial; //quay s6 hay không
int phonenumber; //số điện thoại liên lạc phụ thuộc
/trường dial
char* filename; ⁄⁄ đường dẫn tới file *.wav
int Nextposition; / vị trí của phân tử tiếp theo trên file
conversation * Nextlink;/⁄/ con trỏ tới phân tử tiếp theo
}
Đặt mặc định vị trí NULL trong file là 0
Cấu trúc này lưu trữ thông tin về giờ, phút, giây diễn ra cuộc thoại, thời
gian cuộc gọi, máy gọi đi(số điện thoại được gọi) hay bị gọi tới(số máy gọi tới)
Cấu trúc sẽ lưu trữ đường dẫn tới file *.wav chứa nội dung của cuộc gọi Hai
Trang 16
Thiết hế hệ thống ghỉ âm so
trường Nextposition và Nextlink dùng để tổ chức danh sách liên kết trong file va
trong bộ nhớ trong
Việc lưu trữ thông tin của cuộc thoại trong một ngày bằng một danh sách
liên kết tạo sự linh hoạt trong các cập nhật vào file info.rcd, do không thể biết
trước được số cuộc gọi diễn ra trong ngày Hơn nữa, số cuộc gọi trong một ngày
không phải lớn lắm, nên dễ dàng cho việc tìm kiếm
Truy xuất cấu trúc dữ liệu trên, phải liên tục đọc file, làm việc với bộ nhớ
ngoài tốc độ sẽ chậm, không phù hợp với các ứng dụng thời gian thực tuy nhiên
có thể xây dựng các danh sách liên kết trong bộ nhớ trong dựa trên các trường
Firstlink và Nextlink Sau một thời gian xác định sẽ cập nhật lại vào file
3.Các module phần mềm
a Phần mềm điều khiển card thu thoại
Phương pháp vào ra với card thu thoại là sử dụng ngắt Tại chế độ EPP của cổng LTP thì chân 10 (Ack) là chân báo ngắt Chân này được đưa đến chân IRQ7 của vi mạch PIC8259 tương ứng với vector ngắt 0Fh
Chế độ EPP của cổng LPT phải được khởi động bằng cách khởi động vi mạch superlO hỗ trợ cho cổng LPT
Phần mềm điều khiển sẽ có hai chức năng :
- Khởi động cho card thu thoại
- _ Chương trinh con phục vụ ngắt
Khởi động cho card thu thoại thực hiện theo các bước
- _ Khởi động chế độ EPP của cổng LPT
- Cài dặt chương trình con phục vụ ngắt tại vector ngắt
0Fh
Trang 17Sơ đồ khối của chương trình con phục vụ ngắt Đọc tg trạng thái
mở file mới Dong file
Dua ra tin hiéu chon kénh
Ghi dữ liên vào file
Trang 18Thiết hế hệ thống ghỉ âm so
b.Diéu khién soundcard va playback
Cac soundcard néi ghép voi PC qua ISA hodc PCI bus Cac soundcard
này theo chuẩn của Blaster.Một soundcard gồm các bộ phận khối sau: - _ Bộ xử lý tín hiệu số
- _ Bộ tông hợp âm thanh
- Giao dién MIDI (musical instrument digital interface)
- _ Giao diện với CD-ROM
Hai khối trên thường được tích hợp trên cùng một bộ phận là DSP(Digital Signal Processing)
Soundcard Blaster có các cổng vào ra có thể lập trình được Địa chỉ cơ sở
của card là 2x0h(x có thể là 2,4,6,8) Trên card có 20 cổng vào ra dùng cho FM
synthesized music, mixed setting, DSP programming và CD-ROM access Trong
số cổng l/O, có 5 cổng dành cho lập trình DSP
lOaddress Description Access
Base+6h Reset DSP Write only
Base+Ah DSP read data port Read only
Base+Ch DSP write command/data Write
Base+Ch DSP write buffer status Read
Base+Eh DSP read buffer status Read only
Lập trình trao déi dir liéu voi soundcard qua DMA controller
DMAC diéu khién truyén dé liéu gitra thiét bi ngoai vi va bd nhé khéng
qua CPU Vi mach 8237A diéu khién viéc nay Trong IBM PC có hai DMAC, một
truyền dữ liêu 8 bit, một truyền dữ liệu 16 bit DMAC 1 dùng cho truyền 8 bit với
các kênh 0, 1, 2, 3, DMAC2 dùng cho truyền 16 bit với các kênh 4, 5, 6, 7 Các thanh ghi và địa chỉ của nó :
Trang 19- Các thanh ghi địa chỉ cơ sở và thanh ghi đếm
Controller | li Address Function DMA, 1 00 Channel 0 address
8-bit 01 Channel 0 count
Slave 02 Channel 1 address
03 Channel 1 count 04 Channel 2 address 05 Channel 2 count 06 Channel 3 address OF Channel 3 count DMA 2? co Channel 4 address
16-bit C2 Channel 4 count Master Cả Channel 5 address
C6 Channel5 count C8 Channel 6 address CÁ Channel 6 count CC Channel 7 address CE Channel 7 count
- Các thanh ghi điều khiển
Address
DMAC1|/DMAC2
0A D4 [Write single mask register
0E Dé [Write mode register
0C DS {Clear byte pointer flip-flop
- Cac thanh ghi trang
Function lO Address Function
87 8-bit DMA channel 0 page 83 8-bit DMA channel 1 page
81 8-bit DMA channel 2 page 82 8-bit DMA channel 3 page
8B 16-bit DMA channel 5 page 89 16-bit DMA channel 6 page | SA 16-bit DMA channel ? page
Các bước để khởi tạo trao đổi dữ liệu với soundcard qua DMA: - _ Tính địa chỉ tuyến tính của vùng đệm
- _ Thiết lập mặt nạ Disable kênh trao đổi dữ liệu với soundcard :
Trang 20
Thiết hế hệ thống ghỉ âm so
OUT TGMATINA,4+|channelDMA mod 4]
ChannelDMA kênh DMA dùng để trao đổi dữ liệu với soundcard
- Xoa mach lat F/L
- _ Ghi chế độ làm việc cho DMA
7 6 5 4 3 2 1 0
- | | chon kénh
chê độ hoạt động
Địa chỉ tăng/giảm chế độ truyền
Cho phép tự khởi đầu Dạng thức của thanh ghi chế độ
Để làm việc với soundcard, thanh ghi chế độ cần được thiết lập: chế độ hoạt động đặt ở chế độ chuyển từng byte, dia chi tang Chế độ khởi đầu đặt cho phép tự khởi đầu Chế độ truyền đặt 01 cho playback và 10 cho recording Kênh
được chọn là kênh DMA dành cho soundcard Sau đây là các giá trị của thanh
ghi chế độ tương ứng với các chế độ làm việc của soundcard:
e 48h + channelDMA : Single Cycle Playback
e 58h + channelDMA : Auto-initialized Playback
e 44h + channelDMA : Single Cycle Record
e 54h + channelDMA : Auto-initialized Record - Ghi offset của vùng đệm dữ liệu theo byte thấp va byte cao
- Ghi độ dài dữ liệu cần chuyển
- Ghi địa chỉ trang của vùng đệm vào thanh ghi trang của DMA
- Bỏ mặt nạ cho kênh Soundcard Lập trình playback
Chương trình playback có hai nhiệm vụ chính: - _ Lập trình truy cập cở sở dữ liệu
- _ Lập trình play back qua soundcard
Trang 21
Truy cập cơ sở dữ liệu dựa trên các thủ tục tìm kiếm theo các trường
khác nhau Thủ tục tìm kiếm xây dựng theo các thuật tốn tìm kiếm trên các cau trúc dữ liệu cơ bản như đã trình bày ở phần trên Kết quả tìm kiếm sẽ đưa ra list các file cần tìm
Để playback âm thanh cần tiến hành những bước sau:
- _ Xác định vị trí vùng đệm( khơng vượt quá 64KB)
- _ Thiết lập một chương trình con phục vụ ngắt
- _ Lập trình khởi tạo DMA
- _ Đặt tần số lấy mẫu cho DSP
- - Ghi lệnh vào ra cho DSP(+Ch)
- _ Ghi chế độ truyền cho DSP
- _ Ghi kích thước khối dữ liệu cho DSP
Các lệnh của DSP được ghi vào cổng +Ch của Soundcard Các lệnh này sẽ quy định cách làm việc của soundcard với DMA
- _ D0: tạm dừng chế độ vào ra với DMA 8bit
- _ D4:Tiếp tục chế độ vào ra với DMA 8bit sau khi bị dừng bởi lệnh D0 - D5: tam dung ché d6 vao ra voi DMA 16 bit
- D6: tiép tuc ché do vao ra voi DMA 16 bit sau khi bi dừng bởi lệnh D2
- _ D9: Thoát khỏi chế độ vào ra với DMA 16 bit sau khi truyền xong khối
dữ liệu hiện tại
- DA: Thoát khỏi chế độ vào ra với DMA 8 bit sau khi truyền xong khối dữ liệu hiện tại
- _ E1: Lấy version cla DSP
- _ Bx:Thiết lập chế độ vào ra với DMA 16 bit Đề thiết lập chế độ làm việc
với DMA cần lần lượt gửi các thông tin sau đến cổng ghi/lệnh(+Ch):
+Gửi lệnh với qui cách:
Trang 22Thiết hế hệ thống ghỉ âm so
4 bit sau không đổi
Bit 3: khi ghi âm đặt bằng 1
Khi playback dat bang 0
Bit 2: quy định chế độ làm việc với DMA: Single Cycle
hoặc auto-initialized
Bit 1 Có sử dụng hàng đợi hay không Sử dụng hàng đợi
sẽ làm tăng tốc độ truyền âm, không bị gián đoạn giữa
các khối dữ liệu
+ Gửi chế độ với quy cách:
i 6 5 4 3 2 1 0
0 0 Stereo Signed 0 0 0 0
0 = mono |0 = unsigned 1= stereo] 1= signed
+Gtri kich thuéc khéi dé liéu(low/high) -©x tương tự như Bx nhưng dùng cho DMA 8 bit
e Chương trình con phục vụ ngắt:
Vì có 2 chế độ vào ra dữ liệu với soundcard qua DMA là Single Cycle và Auto-lnitialized, nên công việc của chương trình con phục vụ cho mỗi chế độ là
khác nhau
Trong chế độ Single Cycle chương trình con phục vụ ngắt thực hiện
những công việc sau:
- Thiết lập chế độ làm việc DMA cho khối dữ liệu tiếp theo
- Thiết lập chế độ cho DSP làm việc với khối dữ liệu tiếp theo - Chuẩn bị vùng đệm cho khối dữ liệu tiếp theo
- Báo ngắt cho Soundcard bằng cách đọc cổng 2xEh với soundcard 8
bit va 2xFh voi soundcard 16 bit
- Báo kết thúc ngắt cho PIC bằng cách ghi vào cổng 20h đến A0h
Để ghép nối vào ra với Soundcard,người ta hay sử dụng chế độ Auto-
Inittialized của DMA Khi sử dụng chế độ Single Cycle âm thanh bị gián đoạn
giữa các khối dữ liệu, điều này làm giảm chất lượng âm thanh.Trong chế độ
Auto-Initialized chương trình con phục vụ ngắt thực hiện những công việc sau:
- Chuẩn bị vùng đệm cho khối dữ liệu sau
Trang 23
- Báo ngắt cho Soundcard bằng cách đọc cổng 2xEh với soundcard 8
bit va 2xFh voi soundcard 16 bit
- Báo kết thúc ngắt cho PIC bằng cách ghi vào cổng 20h đến A0h
Trang 24
Thiết hế hệ thống ghỉ âm so
Mục lục
Lời nói đầu - - c0 111 S1 ng TK TT TT TK TK TH TK KT TT nh ky 1 ` 0 ccc c cece cece nce e eee teat eee neteeaeeeeeeteeeeeteeaeeteaeeesaeeeeneeeeaneengaees 2
|I Phương án hiện CÓ .- CS Q TH HH nh nh ng km Kha 3 1.MG ta ccc cccce cee ceeeeeeee seeeeeeeeeeseegeeeeeeeaeeeeeeneateateaeeeeeeeuenententanegenaneas 3 Q.DAC GIGM 0 cece cecccecccececeeceucecececeeeneeeeeeeaeeeueeeneeeaeesaesaeteaeesaeteneeeans 4
3.Các khối chức năng chính - - - CS 2221111111111 111111 ren 4
le in ao ae 6
II] Các phương án đề xuất . c c2 2122111 n ng nh ven 8 1 Xây dựng hệ thông ghi âm sử dụng vi điều khiễn . 8
2 Hệ thống ghi âm sử dụng card thu thoại ghép nối với PC 9
VI.Thiết kế hệ thông ghi âm số điều khiển bằng PC . - 9
1 Card thu thoại 8 kênh -c-.- nề cà 10
2 TỔ chức lưU fYỮ . cc n1 HS TY HT kh nen 13 3 Các module phần mềm - - - - CC 2122111112111 11111 E111 sét 16
a.Phần mềm điều khiển card thu thoại 5555 Sc+ss+Ss2 16
b.Phần mềm điều khiển sound card và playback -.- - 18
Mục lỤC -. CC Q0 HH ng HH n King n ng ra 24 Tài liệu tham khảo . TS sư, 25
Trang 25
Tài liệu tham khảo
1.Bài giảng môn Kỹ thuật ghép nối - Bùi Quốc Anh
2.Kỹ Thuật Vi xử lý — Văn Thế Minh
3.Kỹ thuật ghép nối máy tính — Ngơ Diên Tập
4.Kỹ thuật số-Nguyễn Thuý Vân
5.Micro Processor and Interface-D.Hall-MCGraw Hill