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
Trang 1Lờ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àomọ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 đã thamkhảo các mô hình đã có, đưa ra một số phương án khả thi Phương án tối ưunhấ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à kinhnghiệm mới, tuy nhiên do trình độ còn hạn hẹp, ít kinh nghiệm nên đề tài cònnhiề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
Trang 2I.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
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êucầ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
Chuyểnđổi tín hiệu
Khối điều khiển
Playback
Data base
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 8bittheo luật hoặc luật A, vừa tiết kiệm dung lượng lưu trữ, đường truyền vẫn đảmbả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ệctì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 gianthực, nên cơ sở dữ liệu cần tổ chức để đáp ứng được tốc độ của hệ thống Cáccuộ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ầnxây dựng chương trình điều khiển soundcard, chương trình ứng dụng để truycậ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ácmáy ghi âm công nghiệp của nước ngoài, giá thành khá cao khoảng vài trămtriệ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 âmCR500T 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
Trang 4+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)
+ 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ặctheo 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
- Ghi âm voice, sử dụng chức năng VOX Khi trên kênhthoạ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ộcgọi
Trang 5 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
Trang 6+ 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
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.2dBV1(RCA pin jack, AUX I/Oconnector)
-40dBV1(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
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
Trang 7 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ínhiệ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
Trang 8III 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 gianthự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ốngTí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ệutrạ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ưutrữ, 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
Thiết bị lưu trữ có thể dùng đĩa cứng hoặc flash Tuy nhiên việc phối ghépvớ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,
voice controll
datastatus
Database
Souncard
Trang 9thì cần lập trình điều khiển đĩa, tổ chức file Do đó chi phí cho xây dựng phầnmề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ínhcủ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ácsoundcard 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ượngcho 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ềukhiể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âydựng là card thu thoại nhiều kênh
Trang 10IRQ
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 haycổng máy in Mạch phải có khả năng thu được đồng thời cả 8 kênh Tín hiệuthoạ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ệuvới tốc độ từ 500KByte-2Mbyte
phone
Select
Sơ đồ khối của vi mạch thu thoạiCard 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:
- Xác định xem hiện có kết nối hay không kết on,Hook-off)
nối(Hook 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ạchthu 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 địnhthời điểm máy điện thoại chuyển sang kênh thoại(Hook-on) để báo cho hệ thốngbiế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 1chu 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àothanh 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ạiqua 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êngcho 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ệutiế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ệnthoạ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 FSx(8kHz) Sau 8 chu kỳ đồng hồ tại chânBCLKX 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ộtbyte 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 thanhghi 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ủathanh 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 haykhông
Bit i =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ủathanh ghi PC sẽ đọc nội dung của thanh ghi khi xử lý ngắt
Hoạt động :
Trang 12Tí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
Sơ đồ nguyên lý của card thu thoại
IRQ
Trang 13Trê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 truyxuấ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 đĩacứ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ộtthô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ộcgọ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ạicủ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ệccậ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ủamả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 14CH1 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 conversation * Firstlink;// con trỏ tới phần tử đầu tiên
// của danh sách liên kết };
Trang 15Để 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ó đượccô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ênkế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ờigian 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 Haitrường Nextposition và Nextlink dùng để tổ chức danh sách liên kết trong file vàtrong bộ nhớ trong