Tải bản đầy đủ (.doc) (25 trang)

đồ án kỹ thuật viễn thông Thiết kế hệ thống ghi âm số điện thoại 8 kênh tự động,.DOC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (255.45 KB, 25 trang )

ThiÕt kÕ hÖ thèng ghi ©m sè
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 đã luôn tận tình hướng dẫn
em trong quá trình hoàn thành đợt thực tập này.

1 1
ThiÕt kÕ hÖ thèng ghi ©m sè
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
- Mạch thu và chuyển đổi tín hiệu tiếng nói
- Khối điều khiển
- Lưu 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.
8 Phone
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ó
cuộc thoại. Do đó hệ thống phải có khả năng xử lý và được thiết kế để có thể thu
âm được cả 8 kênh. Các kênh truyền tin, thiết bị điều khiển phải có tốc độ đủ
lớn. Hệ thống cần xác định được trạng thái của các kênh.
2
Chuyển
đổi tín
hiệu
Khối
điều
khiển
Playback
Data base
2
ThiÕt kÕ hÖ thèng ghi ©m sè
Tí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 µ 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 của hãng 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.
+Tín hiệu tiếng nói được mã PCM 8 bit theo luật µ
3 3
ThiÕt kÕ hÖ thèng ghi ©m sè
+Thông tin được lưu trữ trên băng từ : DAT (DDS2 standard), 3.5”
MO(magneto optical) drive (ISO/IEC CD15041 standard) hoặc 5” MO drive
(ISO/IEC CD14517 standard)
2. Đặc điểm
+ Ghi âm hiệu quả: Một băng ghi đơn DDS2- standard có thể ghi 850 giờ
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
+ Có thể tự độ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
• Thiết bị này hỗ trợ 3 kiểu ghi âm. Mỗi kênh có thể sử dụng một kiểu
ghi âm 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
• 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
4 4
ThiÕt kÕ hÖ thèng ghi ©m sè
• Xác định CallerID
•Ghi 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)
• Ghi thời gian ngày tháng bắt đầu cuộc gọi

• Dual operation
• Serial operation
• Endless operation
• Single operation
+Playback and monitor
• 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
• Tìm kiếm : Có thể tìm theo thời gian hoặc số cuộc gọi
• Instant recall
• Pause : pause play mode
• Skip Forward và Skip back
• FAST/SLOW
• Fast Forward và rewind
+ Time code
• Xác định thời gian theo : Year, Month, Day, Hour, Minute
• Có thể lựa chọn time code IRIG-B
• Đồ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
• Đ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
5 5
ThiÕt kÕ hÖ thèng ghi ©m sè
• Báo động khi media end, lỗi ổ A,B,HDD, lỗi kênh, lỗi time code,Quạt
dừng
+ Các chức năng khác:
• Màn hình LCD 4 characters × 4 lines
• UPS cấp nguồn thêm 5 phút kể từ khi mất nguồn cấp
• Power switch OFF protect

• 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
• Tần số lấy mẫu 8Khz
• Số bit lượng tử 8 bits(bằng luật µ)
• Dải tần 300 đến 3400Hz
• S/N ratio 40dB hoặc hơn
• Input level (-50 đến 0 dBV) với AGC
• Dải AGC -50 đến –30 dBV(-48 đến –28dBm) at maximum
sensitivity -20 đến 0 dBV(-18 đến 2 dBm) at maximum sensitivity
•Trở kháng đầu vào 10kΩ hoặc hơn(tại 1kHz)
•Monitor output -2.2dBV×1(RCA pin jack, AUX I/Oconnector)
-40dBV×1(3.5 ∅ jack)
• Speaker output 0.5W
• Earphone output 1mW
• Dải Biến đổi VOX -50 đến –20 dBV
• BEEP TONE output -30dBm hoặc nhỏ hơn(FCC standard)
+ Hệ thống điều khiển
• Phương tiện ghi âm
-Băng từ theo chuẩn DDS standart 60m(1.3GB) 90m(2GB)
• DDS driver theo chuẩn DDS standard, không nén
• Thời gian ghi âm
-CR-500T 120m tape ghi được 850 giờ kênh
• Đơn vị truyền thông nhỏ nhất : 16 seconds
6 6
ThiÕt kÕ hÖ thèng ghi ©m sè
• Thời gian điều chỉnh đồng hồ: Khoảng 1 tháng
+ Các thông số chung
• Nguồn cấp 90 – 132 VAC, 50/60 Hz
• 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
- Sử dụng băng từ nên dung lượng và chất lượng lưu trữ
thấp.
7 7
ThiÕt kÕ hÖ thèng ghi ©m sè
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
Phone


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.
8
voice controll
data
status

hoá
tín
hiệu
Xác
định
trạng
thái
tín
hiệu
Micro
Controller
Souncard

Database
8
ThiÕt kÕ hÖ thèng ghi ©m sè
Thiết bị lưu trữ có thể dùng đĩa cứng hoặc flash. Tuy nhiên việc phối ghép
với đĩa cứng là rất phức tạp. Với những vi điều khiển không sử có hệ điều hành,
thì cần lập trình điều khiển đĩa, tổ chức file. Do đó chi 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 chi 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
9 9
ThiÕt kÕ hÖ thèng ghi ©m sè

- Chương trình ứng dụng playback
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

Select
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:
• 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:
10
Line
IRQ
Xác định
trạng thái
kênh
Đệm
SIPO 8bit
C
O
D
E

C
Thanh ghi trạng thái kênh
AND
SYNC
8
MUX
8×8_1
PC
Data
Status
10
ThiÕt kÕ hÖ thèng ghi ©m sè
- 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
Mộ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.
• Codec:
Codec là bộ mã hoá 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ã hoá tín hiệu
tiếng nói thành dạng PCM 8 bit theo luật µ. 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 VF
X
.Tín hiệu đưa ra là nối tiếp tại đầu ra 3 trạng thái D

X
.
Chu kỳ lấy mẫu được đưa vào chân FS
x
(8kHz) Sau 8 chu kỳ đồng hồ tại chân
BCLK
X
thì TP3054 sẽ đưa 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ý.
• 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.
• 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 i =0 kênh đang rỗi
=1 kênh bận(active)
11 11
ThiÕt kÕ hÖ thèng ghi ©m sè
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 :
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ã hoá 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.
12
IRQ
12
ThiÕt kÕ hÖ thèng ghi ©m sè
Sơ đồ nguyên lý của card thu thoại
Trên sơ đồ ghép nối sử dụng các IC sau:
IC TP3054 : bộ 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 vào 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 dạng 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 dụng playback để 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.
13 13
ThiÕt kÕ hÖ thèng ghi ©m sè
CH1 CH2 CH3 CH4 CH5 CH6 CH7 CH8

Cấu trúc dữ liệu của file info.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; //tổng số cuộc gọi trong một ngày
int Firstposition; // vị trí của phần tử đầu tiên của
//danh sách liên kết trong file
14
File
*.wav
File
*.wav
NULL
372
phần
tử
File

*.wav
File
*.wav
File
*.wav
NULL
File
*.wav
14
ThiÕt kÕ hÖ thèng ghi ©m sè
conversation * Firstlink;// con trỏ tới phần tử đầu 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; //phú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 số 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
15 15
ThiÕt kÕ hÖ thèng ghi ©m sè
trường Nextposition và Nextlink dùng để tổ chức danh sách liên kết trong file và
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 superIO 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
16 16
ThiÕt kÕ hÖ thèng ghi ©m sè
Sơ đồ khối của chương trình con phục vụ ngắt

17
Bắt đầu
Đọc tg trạng thái
i = 8
bit i 1->0
kênh i active
Đóng file
bit i 0->1
mở file mới
Đưa ra tín hiệu chọn kênh
Ghi dữ liệu vào file
i=i-1
i>0
kết thúc
17
ThiÕt kÕ hÖ thèng ghi ©m sè
b.Điều khiển soundcard và playback
Các soundcard nối ghép với PC qua ISA hoặc PCI bus. Các 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 I/O, có 5 cổng dành cho lập trình DSP.
Lập trình trao đổi dữ liệu với soundcard qua DMA controller
DMAC điều khiển truyền dữ liệu giữa thiết bị ngoại vi và bộ nhớ không
qua CPU. Vi mạch 8237A điều khiển việc này. 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ó :
18 18
IOaddress 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
ThiÕt kÕ hÖ thèng ghi ©m sè
- Các thanh ghi địa chỉ cơ sở và thanh ghi đếm

- Các thanh ghi điều khiển

- Các thanh ghi trang

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 :
19 19
ThiÕt kÕ hÖ thèng ghi ©m sè
OUT TGMATNA,4+[channelDMA mod 4]
ChannelDMA kênh DMA dùng để trao đổi dữ liệu với soundcard
- Xoá mạch lật F/L
- Ghi chế độ làm việc cho DMA
7 6 5 4 3 2 1 0

chọn 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, địa chỉ tăng. 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:
• 48h + channelDMA : Single Cycle Playback
• 58h + channelDMA : Auto-initialized Playback
• 44h + channelDMA : Single Cycle Record
• 54h + channelDMA : Auto-initialized Record
- Ghi offset của vùng đệm dữ liệu theo byte thấp và 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
20 20

ThiÕt kÕ hÖ thèng ghi ©m sè
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 toán tìm kiếm trên các cấu
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: tạm dừng chế độ vào ra với DMA 16 bit
- D6: tiếp tục chế đọ vào ra với DMA 16 bit sau khi bị 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 của 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:

21 21
ThiÕt kÕ hÖ thèng ghi ©m sè
4 bit sau không đổi.
Bit 3: khi ghi âm đặt bằng 1
Khi playback đặt bằng 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:
+Gửi kích thước khối dữ liệu(low/high)
-Cx tương tự như Bx nhưng dùng cho DMA 8 bit
• 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-Initialized, 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
22 22
ThiÕt kÕ hÖ thèng ghi ©m sè
- Báo ngắt cho Soundcard bằng cách đọc cổng 2xEh với soundcard 8
bit và 2xFh với 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.
- Báo ngắt cho Soundcard bằng cách đọc cổng 2xEh với soundcard 8
bit và 2xFh với 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
23 23
ThiÕt kÕ hÖ thèng ghi ©m sè
Mục lục
Lời nói đầu……………………………………………………………………………….1
I.Nhiệm vụ……………………………………………………………………………… 2
II. Phương án hiện có………………………………………………………………… 3
1.Mô tả……………………… ………………………………………………………3
2.Đặc điểm……………………………………………………………………………4
3.Các khối chức năng chính……………………………………………………… 4
4.Các thông số……………………………………………………………………… 6
III. Các phương án đề xuất…………………………………………………………….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………………………………………………………….10
2. Tổ chức lưu trữ……………………………………………………………… 13
3. Các module phần mềm……………………………………………………… 16
a.Phần mềm điều khiển card thu thoại………………………………………16
b.Phần mềm điều khiển sound card và playback………………………… 18
Mục lục………………………………………………………………………………….24
Tài liệu tham khảo…………………………………………………………………… 25


24 24
ThiÕt kÕ hÖ thèng ghi ©m sè

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
25 25

×