วันพุธที่ 5 พฤศจิกายน พ.ศ. 2551

การทำสถานีวิทยุ Online ด้วย Shoutcast Server ฉบับ Mr_Gill

การทำสถานีวิทยุ Online ด้วย Shoutcast Server ฉบับ Mr_Gill

สวัสดีครับท่านทุกคนคืนนี้ว่างจัดเลยมานั่งเขียนเรื่องการทำ Audio Broadcast ด้วย Shoutcast Broadcast Server ซึ่งมันก็ไม่ได้มีขั้นตอนอะไรยุ่งยากสักเท่าไหร่เลยมาเขียนให้ได้อ่านกัน

ขั้นแรกต้องถามตัวเองก่อนครับว่าเราจะติดตั้ง Shoutcast ใน OS อะไร ในที่นี่ผมขอเสนอ 3 ประเภทแล้วกันน่ะครับ
1.Windows XP Professtional SP2
2.FreeBSD
3.Linux

อธิบายหลักการทำงานของ Shoutcast กันก่อนน่ะครับ
หลักการทำงานของ Shoutcast มีอยู่ว่าเจ้าตัว Shoutcast เองไม่ได้มีหน้าที่เล่นเพลงแต่อย่างใด มันมีหน้าที่อย่างเดียวคืนกระจ่ายสัญญาณเสียงให้กับเครื่องที่ Request ขอเข้ามา(เครื่องผู้ฟังนั้นเอง) เราจำเป็นต้องมี Client ที่คอย encode ไฟล์เพลง หรือพูดง่ายก็คือต้องมี DJ หรือ PJ ค่อยเปิดเพลงแล้ว encode ให้เจ้า Shoutcast กระจายให้นั้นเอง
ดังนั้นเราจึงต้องมี software ที่คอย encode ให้ Shoutcast ในที่นี่ขอแนะนำ SHOUTcast DSP Plug-In for Winamp 5.x

คุณสามารถ Download Shoutcast Server ได้จากที่นี่
SHOUTcast WIN32 Console/GUI server v1.9.5
SHOUTcast FreeBSD 5.x server v1.9.5

SHOUTcast FreeBSD 4.x server v1.9.5
SHOUTcast Linux server (glibc) v1.9.5

และ Download SHOUTcast DSP Plug-In for Winamp 5.x
SHOUTcast DSP Plug-In for Winamp 5.x

เริ่มกันเลยผมขอเริ่มด้วยการติดตั้ง Shoutcast Broadcast Server บน Windows XP ก่อนละกันน่ะครับ
1.เริ่มด้วยการดาวน์โหลดโปรแกรมมาก่อนน่ะครับ
2.จากนั้นก็ติดตั้งปกติ Next ไปเรื่อยๆ มันจะถามนิดหน่อยให้เราเลือก Console แต่เราสามารถใช้ค่า Default ของมันได้เลย
3.เมื่อติดตั้งเสร็จโปรแกรมจะถูกติดตั้งไว้ในโฟลเดอร์ C:\Program Files\SHOUTcast
4.เข้าไปในโฟล์เดอร์ C:\Program Files\SHOUTcast
5.คลิกขวาที่ไฟล์ sc_serv.ini (สังเกตมันจะเป็นไฟล์เอกสารที่มีรูปเฟืองอะครับ)จากนั้น Open With >> Choose Program.. >> Wordpad หรือถ้าใครมี EditPlus ก็สามารถเปิดจาก EditPlus ได้
6.มี 2 จุดสำคัญที่เราต้องแก้ไขครับ
6.1 หาบรรทัดที่เขียนว่า

password=changme เปลี่ยนจาก changme เป็น password เราครับนี่เป็น passwd สำหรับคนที่จะ encode เข้ามายังเครื่องของเราครับ ตัวอย่าง
password=encoder123

; AdminPassword=adminpass ให้เอาเครื่องหมาย ; ออกน่ะครับจากนั้นหลังเครื่องหมาย = เราสามารถเปลี่ยนได้ตามต้องการ นี่เป็น password สำหรับ admin ตัวอย่างหลังการแก้ AdminPassword=admin1234

6.2 หาบรรทัดที่เขียนว่า
PortBase=8000 นี่เป็น port ที่เราจะใช้ในการ Broadcast และ encoding เข้ามา เรามาสามารถแก้ได้ตามความเหมาะสมแต่ต้องระวังเรื่องการชนกันของ port ด้วยนะครับ ต้องแน่ใจว่า port ที่เราเปลี่ยนมาใช้นั้นไม่ได้ถูกใชู้่โดยโปรแกรมอื่น

หลังจากแก้ไขเรียบร้อยแล้วก็ save ให้เรียบร้อย
7.จากนั้นเราก็มา run ตัว Shoutcast ได้เลยครับ โดยการคลิก Start >> All Programs >> SHOUcast DNAS >> SHOUTcast DNAS (GUI ) เป็นอันเสร็จในฝั่ง Server

มาต่อกันด้วยการติดตั้งบน FreeBSD กันครับ
ต้องบอกไว้ก่อนน่ะครับคือ ผมติดตั้งบน FreeBSD 6.1 STABLE สำหรับผู้ที่ใช้ FreeBSD4x หรือ 5x สามารถดาวน์โหลดเวอร์ชั่นสำหรับ FreeBSD ของท่านได้เลย แต่คนที่ลง FreeBSD6x ก็สามารถติดตั้งได้เหมือนกันครับโดยการตั้งตั้ง package compat5x เข้าไปขั้นตอนการติดตั้ง compat5x
# cd /usr/ports/misc/compat5x/
# make install clean
# echo 'compat5x_enable="YES"' >> /etc/rc.conf

# reboot
สัก 1 รอบ


หลังจากระบบของเราพร้อมแล้วก็มาติดตั้งกันเลย

1.login เข้าระบบ

2.ทำการ download shoutcast มาไว้ที่ server ของเราครับ
# cd /tmp
# fetch http://www.shoutcast.com/downloads/sc1-9-5/shoutcast-1-9-5-freebsd4-elf.tar.gz
สำหรับ FreeBSD4x หรือ
# fetch http://www.shoutcast.com/downloads/sc1-9-5/shoutcast-1-9-5-freebsd5-elf.tar.gz สำหรับ FreeBSD5x

3.เมื่อดาวน์โหลดเสร็จแล้วทำการ extract ออกมาด้วยคำสั่ง
# tar -xvvzf shoutcast-1-9-5-freebsd4-elf.tar.gz สำหรับ FreeBSD4x หรือ
# tar -xvvzf shoutcast-1-9-5-freebsd5-elf.tar.gz สำหรับ FreeBSD5x
เราจะได้ directory shoutcast-1-9-5-freebsdX-elf X = version ที่คุณโหลดมา

4.จากนั้นทำการย้าย directoty ทีได้ไปเก็บไว้ใน /usr/local/
# mv shoutcast-1-9-5-freebsdX-elf /usr/local

5. แล้วเปลี่ยน directory ไปยัง /usr/local/shoutcast-1-9-5-freebsdX-elf
# cd /usr/local/shoutcast-1-9-5-freebsdX-elf

6.ทำการแก้ไขไฟล์ sc_serv.conf ด้วย editor ตัวไหนก็ได้ผมขอใช้ ee ละกัน
# cp sc_serv.conf sc_serv.conf.bak
# ee sc_serv.conf

ทำการแก้ไขเหมือนกับข้อ 6.1 และ 6.1 บน windows แล้ว save ให้เรียบร้อยครับ

7.ทำการ chmod ให้กับไฟล์ sc_serv เพื่อให้สามารถ run ได้
# chmod +x sc_serv

8.ทำการ run sc_serv ได้เลยครับ
# ./sc_serv sc_serv.conf


*** เห็นถามกันมามากเหลือเกินเลยมาแก้เนื้อหาให้ครับ สำหรับคนที่ต้องการเปิด port มากกว่า 1 port ก็ให้ทำการก๊อปปี้ไฟล์คอนฟิกเพิ่มเป็นหลายๆ ไฟล์ตามต้องการเลยน่ะครับ แล้วก็ไปเปลี่ยน password และก็ port ในนั้นแล้วเวลารันก็สั่ง # ./sc_serv ตามด้วยชื่อไฟล์คอนฟิก เช่น # ./sc_serv p8000.conf หรือ # ./sc_p9000.conf


ถ้าต้องการให้ sc_serv start เองเวลา boot เครื่องก็สามารถเขียนเป็น shell script สั่นๆ ไว้ใช้งานกันได้โดยการ
# ee /usr/local/etc/rc.d/sc_serv.sh จะเข้าสู่หน้า editor ของ ee
พิมพ์
/usr/local/shoutcast-1-9-5-freebsdX-elf/sc_serv /usr/local/shoutcast-1-9-5-freebsdX-elf/sc_serv.conf & เข้าไปครับ อย่าลืมน่ะครับ X = version ที่ท่านโหลดมา จากนั้นทำการ save ให้เรียบร้อย
จากนั้นก็ทำการ
# chmod +x /usr/local/etc/rc.d/sc_serv.sh
# echo 'sc_serv_enable="YES"' >> /etc/rc.conf
# reboot
ดูผล
เสร็จครับ

มาถึงการติดตั้งบน Linux ก้นบ้าง
มันก็ไม่มีอะไรแตกต่างจากการ config บน FreeBSD สักเท่าไหร่ครับ
1.ดาวน์โหลด http://www.shoutcast.com/downloads/sc1-9-5/shoutcast-1-9-5-linux-glibc6.tar.gz มา
2.ทำการ extract ออกมาแล้วย้ายไปเก็บไว้ที่ /usr/bin (ความจริงจะเก็บไว้ที่ไหนก็ได้ครับไม่สำคัญสักเท่าไหร่)
3.เข้าไปแก้ไฟล์ sc_serv.conf เหมือนกับที่แก้ไขบน windows แล้วทำการ save
4. # chmod +x sc_serv
5.ทำการ run sc_serv ได้เลยครับ
# ./sc_serv sc_serv.conf

หากต้องการให้ shoutcast ทำงานหลาย port โปรแกรมด้านบน

*** ข้อควรระวังของการติดตั้ง Shoutcast Server คือ ถ้าหาก Sever ได้ติดตั้ง Firewall ไว้ควร Allow port ที่เราได้ตั้งไว้ในไฟล์ config ไม่งั้นจะไม่สามารถใช้ port ที่่ตั้งไว้ได้ครับ

หลังจากเราได้ติดตั้ง Server เสร็จเรียบร้อยแล้วก็มาจัดการกับตัว encode กันบ้างครับ

ผมใช้ winamp 5.12 สำหรับ encode น่ะครับ

1.ดาวน์โหลด http://www.shoutcast.com/downloads/shoutcast-dsp-1-9-0-windows.exe มาแล้วติดตั้งครับ Next อย่างเดียว

2. หลังจากติดตั้งแล้วเปิดโปรแกรม Winamp ขึ้นมา

3. เข้าไปที่หน้า Preferences ของ winamp ครับ โดยการคลิกขวาที่ส่วนของหัวโปรแกรม winamp >> Options >> Preferences... หรือกด Ctrl+p ก็ได้ครับ

4.ตอนนี้เราจะอยู่ที่หน้า Preferences ของ winamp แล้วน่ะครับ เลือกหัวข้อ DSP/Effect หน้าต่างด้านขวาจะแสดงDSP ที่ winamp มีอยู่ คลิกเลือกที่ Nullsoft SHOUTcast Source DSP V1.9.0 (dsp_sc.dll) จากนั้น มันจะเปิดหน้า config ของ SHOUTcast Sourc มาให้น่ะครับ
จะมีอยู่ด้วยกัน 4 tab เลือก tab ที่ 2 Output ก่อนน่ะครับ

DSP

5.ช่อง Address กรอก ip หรือ domain ของ server ที่เราได้ติดตั้ง Shoutcast Server ไว้ ถ้าเป็น windows เรามาสามารถติดตั้ง server และตัว encode ไว้ในเครื่องเดียวกันได้ ถ้าติดตั้งภายในเครื่องเดียวเราก็ใส่เป็น localhost ครับ

6.ช่อง Port กรอก port ที่เราได้ตั้งไว้ในไฟล์ config

7.ช่อง Password กรอก password ที่เราได้ตั้งไว้ในไฟล์ config

8.สำหรับช่อง Encoder เลือกเป็น 1 ไว้น่ะครับ

9.กรอกข้อมูลครบแล้วคลิกที่ปุ่ม Connect ถ้าหาก connect ติดแสดงว่าผ่านครับ (สังเกตตรง Status น่ะครับ จากเดิม Not Connected จะเป็นดังรูปข้างล่าง)

Connect

หลังจากตั้งค่าเสร็จคลิกทีุ่ปุ่ม Yellowpages แล้วตั้งค่าต่างๆ ตามต้องการ

Yellowpages



9.จากนั้นเปลี่ยนไปยัง tab Encoder


encode

10.เมื่อกี้ตอนเราแก้ไขข้อมูลหน้า Output เราได้เลือก Encoder 1 ไว้เราสามารถตั้งค่าได้ตามความต้องการครับ

11.ทดลองฟังโดย copy url ของ server รูปแบบ http://ipserver:port ไปวางในช่อง Open url ของ pleyer ใดๆ
เช่น http://cpe-ru.homeip.net:30000 เอาไปวางในช่อง Open url ของ windows medial player หรือ pleyer ตัวอื่นๆ ถ้าอยาก connect กับ server ได้และ buffer จนได้ยินเสียงเพลง แสดงว่าผ่านครับ ถ้าหากไม่ผ่านลองไล่ดูขึ้นตอนใหม่น่ะครับ

ยังไม่เสร็จครับ แหมผมลืมไปได้ยังไงเนี่ย
มาส่วนของ web admin กันครับ ผมลืมไปเลย
เรามาสามารถดูว่ามีคนฟังกี่คน จาก ip อะไร สามารถ ban ip ต่างๆ ได้จากหน้า page
http://yourhost:port/admin.cgi
เช่นของผม http://cpe-ru.homeip.net:30000/admin.cgi
กรอก
user : admin
passwd: พาสเวิส ที่คุณได้ตั้งไว้ในไฟล์ config


สำหรับผู้ฟังก็เข้าไปดูรายชื่อเพลงที่กำลังเล่นได้ที่ http://yourhost/
เช่น http://cpe-ru.homeip.net:30000/

ที่มา : http://learners.in.th/blog/mrgill/51511

ขั้นตอนการติดตั้ง DSP plug-in เพื่อส่งสัญญาณไปที่ SHOUTcast server

ในการส่งสัญญาณจากเครื่องที่ทำหน้าที่จัดรายการ (DJ) จะต้องทำการติดตั้ง DSP plug-in ซึ่งที่นิยมใช้กันจะมีอยู่สองทางเลือกคือ ติดตั้งกับ Winamp และ SAM ซึ่งการติดตั้งทั้งสองแบบสามารถใช้งานได้เหมือนกัน

1. ดาวน์โหลด DSP plug-in จากเว็บ http://www.shoutcast.com/ ในส่วน be a d.j. ตามรูป


หรือ http://www.shoutcast.com/downloads/shoutcast-dsp-1-9-0-windows.exe

2. ทำการติดตั้ง DSP plug-in ของ Winamp

3. เปิด Winamp ขึ้นมาเพื่อทำการปรับแต่งค่า โดยไปที่ Options -> Preferences เลือก DSP/Effect -> Nullsoft SHOUTcast Source DSP v1.9.0 [dsp_sc.dll] ดังรูป จากนั้นจะมีหน้าต่างการปรับแต่งมาให้





โดยจะต้องใส่ค่าต่าง ๆ ที่สำคัญดังนี้

Address : ใส่หมายเลข IP ของเครื่องที่เป็น SHOUTcast server

Port : ใส่หมายเลข Port ที่เราได้ตั้งไว้ใน sc_serv.conf ในส่วน PortBase:

Password : ใส่รหัสผ่าน ที่เราได้ตั้งไว้ใน sc_serv.conf ในส่วน Password:

Encoder : เลือกตัวเข้ารหัสที่ได้ตั้งไว้โดยดูได้จาก Tab Encoder โดยสามารถปรับแต่งได้ว่าจะทำการส่งสัญญาณที่ระดับใด ตามรูปจะส่งสัญญาณเป็น MP3 ที่ระดับ 96kbps, 4400Hz, Stereo



เมื่อทำการปรับค่าต่าง ๆ เรียบร้อยแล้วก็ส่งสัญญาณได้โดยกดที่ปุ่ม Connect เสร็จแล้วทำการเล่นเพลงใน Winamp ก็จะเห็นการส่งสัญญาณไปที่ SHOUTcast server



ขั้นตอนการติดตั้ง SAM Broadcaster เพื่อส่งสัญญาณไปที่ SHOUTcast server

หากต้องการใช้ SAM Broadcaster ส่งสัญญาณแทน Winamp สามารถดาวน์โหลดได้ที่ http://www.spacialaudio.com/products/sambroadcaster โดย SAM จะต้องติดตั้งกับฐานข้อมูลด้วย แล้วแต่ความต้องการว่าจะใช้ฐานข้อมูลอะไร แต่แนะนำ MySQL ดาวน์โหลดไปติดตั้งได้ที่ http://www.mysql.com/ โดยจะต้องติดตั้ง MySQL ก่อน แล้วติดตั้ง SAM Broadcaster หลังจากติดตั้งเสร็จทำการตั้งค่าดังนี้

เปิด SAM Broadcaster ขึ้นมาแล้วไปที่เมนู Window -> Encoders จะมีหน้าต่าง Encoders ดังรูป



จากนั้นให้เพิ่ม Encoder ใหม่โดยคลิกที่ปุ่มเครื่องหมาย + จะมีหน้าต่างให้เลือกว่าจะใช้ Encoder ตัวไหน ลองเลือกเป็น Legacy MP3 (ACM Codec)



จากนั้นเลือก Bitrate ที่ต้องการได้ที่ปุ่ม Choose Format



เปิดไปที่ Server Details ใส่รายละเอียดดังนี้

Server Type : ShoutCast

Server IP : หมายเลข IP ของเครื่องที่เป็น SHOUTcast server

Server Port : หมายเลข Port ที่ตั้งไว้เพื่อให้บริการ

Password : รหัสผ่านในการส่งสัญญาณไปยัง SHOUTcast server

ส่วนใน Station Details จะใส่หรือไม่ก็ได้



เสร็จแล้วทำการ Start Encoder และเปิดเพลงใน SAM ก็จะเป็นการส่งสัญญาณไปที่ SHOUTcast server แล้ว ดูได้จากสถานะตามรูปด้านล่าง





ขั้นตอนการเปิดฟัง Radio Online

ในการเปิดฟัง Radio Online เราสามารถใช้โปรแกรมเล่นเพลงต่าง ๆ เปิดได้โดยใส่ URL ดังนี้ http://ip/ เช่น http://61.47.10.204:8000/





ที่มา http://www.junjaowka.com/webboard/showthread.php?t=32145

วันจันทร์ที่ 20 ตุลาคม พ.ศ. 2551

DVI port คืออะไร




DVI port ย่อมาจาก "Digital Visual interface " ซึ่งจะมีกับโปรเจคเตอร์ epson บางรุ่น หรือ มีใน port การ์ดจอบาง รุ่น ซึ่ง DVI port จะมีอยู่ 6 แบบ นะครับ ดังรูป


มันดีกว่า D-sub15 เข็ม ยังไง??

เพราะการ์ดจอเดิมที มันต้องแปลงดิจิตอลไปเป็นอนาล็อคก่อน (D-sub) เลยทำให้ภาพอาจจะมีการบิดเบือนเล็กน้อยดังนั้น DVI จึงคมชัดกว่า เพราะไม่ผ่านการแปลงเป็นอนาล็อค คือ การ์ดจอส่งอนาล็อคมา ภาพก็แสดงผลอนาล็อคได้ทันที ภาพจึงมีความคมชัดกว่า

ส่วน Dual DVI ก็คือมี Port DVI 2 ช่อง ต่อได้ 2 จอ

แต่ Port DVI ในสมัยนี้ก็ยังมีสัญญาณ Analog ปนมาด้วยเล็กน้อยครับมันจึงยังมีปัญหาอยู่กับจอ LCD พวกที่เป็น Port DVI มาให้กับจอ

จอ LCD DVI แนะนำ samsung 2232gw www.hardforum.com/showthread.php?t=1190899
หรือ Hp w2207h www.rc-plus.net/board/index.php?topic=1065.0

หม่องมา

http://www.svoa.co.th/st_article_info.php?id=101
http://forums.overclockzone.com/forums/showthread.php?t=212322

โครงสร้างของ USB 2.0


การที่ USB มีการสนับสนุนการส่งถ่ายข้อมูลหลายรูปแบบดังกล่าวจึงทำให้ USB สามารถรองรับอุปกรณ์ I/O ได้หลากหลาย เช่น เมาส์ คีย์บอร์ด กล้องถ่ายภาพ และอุปกรณ์เชื่อมต่อ ISDN นอกจากนี้ USB ยังยอมให้มีการเชื่อมต่อแบบ Hot Plug ซึ่งในที่นี้หมายถึงเราสามารถติดต ั้งอุปกรณ์ I/O ได้ทันทีโดยไม่ต้องปิดเครื่องคอมพิวเตอร์เลย

4955

ความเร็วในการถ่ายเทข้อมูลของ USB

USB มีรูปแบบความเร็วในการถ่ายเทข้อมูลได้ 2 แบบดังนี้

(1) ความเร็ว 12 MB/sec ได้แก่อุปกรณ์ความเร็วสูง เช่น Zip Drive,Scanner และ Printer

(2) ความเร็ว 1.5 MB/sec ได้แก่อุปกรณ์ความเร็วต่ำ เช่น คีย์บอร์ด เมาส์ และจอยสติ๊ก



ส่วนประกอบของ USB

ส่วนประกอบขั้นพื้นฐานของ USB ทั้งทางฮาร์ดแวร์และซอฟต์แวร์ประกอบด้วย

USB ฮาร์ดแวร์

USB Controller /Root Hub

USB Hubs

อุปกรณ์ USB

USB Software

USB Device Drivers

USB Driver

Host Controller Driver



Controller /Root Hub



การสื่อสารข้อมูลทั้งหมดบนระบบ USB เริ่มมาจาก Host ที่ติดตั้งอยู่บนเมนบอร์ดซึ่งทำงานภายใต้การควบคุมของซอฟต์แวร์และฮาร์ดแวร์ ซึ่ง Host นี้ประกอบไปด้วย USB Host Controller ซึ่งเป็นระบบควบคุมที่ทำให้เกิดการถ่ายเทข้อมูลบน USB Bus นอกจากนี้ก็มี Root Hub ซึ ่งเป็น Port ซึ่งใช้เป็นที่เชื่อมต่อกับอุปกรณ์ USB บนเมนบอร์ด ซึ่งจะมีชิปที่ทำหน้าที่เป็น USB Host Controller ดังนี้

Open Host Controller (OHC) ได้แก่ เบอร์ 8x931

Universal Host Controller (UHC) ได้แก่ เบอร์ 80x930



Host Controller



Host Controller มีหน้าที่รับผิดชอบเกี่ยวกับการดูแลการขนถ่ายข้อมูลที่ถูกกำหนดโดยซอฟต์แวร์ของ Host Controller Driver หรือ HCD ซอฟต์แวร์จะจัดสร้างรายการที่ใช้เชื่อมโยงกับชุดของข้อมูลในรูปแบบต่าง ๆ ในหน่วยความจำที่ได้กำหนดเรียบร้อยแล้วว่าจะมีการถ่ายเทกั นเกิดขึ้นเมื่อใด โครงสร้างของข้อมูลนี้เราเรียกว่า Transfer Descriptor ซึ่งประกอบไปด้วยข้อมูลข่าวสารที่จำเป็นสำหรับ Host Controller ในอันที่จะทำให้เกิดการถ่ายเทข้อมูลขั้น ข้อมูลข่าวสารดังกล่าวประกอบไปด้วย

ตำแหน่ง Address หรือที่อยู่ของอุปกรณ์ USB

ชนิดของการถ่ายเทข้อมูลว่าเป็นแบบใด

ทิศทางการไหลของข้อมูลข่าวสารว่าจะไหลจากไหนไปไหน

ตำแหน่ง Address ของ Memory Buffer สำหรับ Device Driver

เมื่อ Host Controller จะส่งข้อมูลไปที่อุปกรณ์ USB ปลายทาง ก็ทำได้โดยการอ่านข้อมูลจาก Memory Buffer ซึ่ง USB Device Driver เป็นผู้จัดสรรให้ ที่ซึ่งข้อมูลจะถูกจัดส่งไปที่อุปกรณ์ปลายทาง โดย Host Controller จะทำหน้าที่เป็นผู้แปลงข้อมูลจากขนานไปเป็นแบบอ นุกรม จากนั้นก็จัดให้มีการถ่ายเทข้อมูลโดยส่งออกไปที่ Root Hub เพื่อส่งต่อไปที่บัส

ในกรณีที่ต้องการจะอ่านข้อมูลจากอุปกรณ์ USB ตัว Host Controller จะสร้างสภาวะการติดต่อเพื่ออ่านข้อมูลขึ้น จากนั้นก็จะส่งคำขอการอ่านข้อมูลไปที่ Root Hub ซึ่ง Root Hub ก็จะส่งผ่านการขออ่านนี้ไปบน USB Bus

ดังนั้นอุปกรณ์ปลายทางจะรู้ตัวว่าตัวเองกำหลังถู กเรียกใช้งานและได้รับการ้องขอให้ปลอดปล่อยข้อมูลออกมา อุปกรณ์ปลายทางนี้ก็จะปล่อยข้อมูลตามที่ต้องการไปที่ Root Hub ซึ่งก็จะส่งต่อข้อมูลนี้ไปที่ Host Controller อีกที่หนึ่ง จากนั้น Host Controller ก็จะนำข้อมูลที่ได้รับมาเป็นแบบอนุกรรมนี้มาทำการแปลงให้เป็น ขนาน จากนั้นก็จะนำไปเก็บไว้ที่ Memory Buffer ของ Device Driver อีกทีหนึ่ง



Root Hub



การติดต่อเพื่อสื่อสารข้อมูลที่ถูกสร้างขึ้นโดย Host Controller จะถูกส่งต่อไปที่ Root Hub เพื่อให้ส่งต่อไปที่ USB Bus ซึ่งเป็นที่ ๆ อุปกรณ์ USB ได้เชื่อมต่อกับตัว Root Hub ซึ่งจัดได้ว่าเป็นจุดเชื่อมต่อที่สำคัญสำหรับอุปกรณ์ USB และมีหน้าที่ทำงานหลักดัง นี้

ควบคุมการเชื่อมต่อที่ USB Port

ทำหน้าที Enable/Disable Port (ทำให้ Port ทำงานหรือไม่ทำงาน)

ทำหน้าที่ตรวจสอบดูว่าแตะละ Port ของ Root Hub ติดตั้งอุปกรณ์อะไรบ้าง

สามารถจัดตั้งหรือรายงานสถานะของแต่ละเหตุการณ์ที่เกิดขึ้นขณะทำงานของอุปกรณ์ที่เชื่อมต่อ Port ต่าง ๆ



USB Hubs



นอกเหนือจาก Root Hub แล้ว ระบบ USB ยังสนับสนุน Hub อีกแบบหนึ่งซึ่งเป็นส่วนขยายของระบบ USB จุดประสงค์เพื่อขยายขนาดการเชื่อมต่อเพื่อติดตั้งอุปกรณ์ USB ได้มากยิ่งขึ้น ลักษณะการเชื่อมต่อจะเป็นแบบพ่วง Hub กันไปเรื่อย ๆ Hub ต่าง ๆ ที่เชื่อมต่อกับ Root Hub นี้มีไว้เพื่อเชื่อมต่อกับอุปกรณ์ USB ต่าง ๆ เช่นคีย์บอร์ดหรือจอภาพ ยิ่งไปกว่านั้น Hub เหล่านี้สามารถมีแหล่งจ่ายไฟเป็นของตนเองเป็นการเฉพาะ หรือจะใช้แรงดันไฟจากสาย USB ก็ได้ การจ่ายไฟให้กับ Hub เหล่านี้โดยผ่านทางสาย USB จะมีข้อจำกัดปริมาณของกำลังงานที่จ่ายออกมาที่ Bus และ ด้วยกำลังที่จ่ายออกมาที่ Bus นี้เองทำให้เกิดข้อจำกัดที่ไม่สามารถติดตั้งได้เกิน 4 USB Port ส่วนประกอบของ Hub มี 2 แบบดังนี้

Hub Controller

Hub Repeater



1. Hub Controller

ประกอบไปด้วย USB Interface ซึ่งเป็นแผงควบคุมภายใน Hub บางทีจะเรียกว่า Serial Interface Engine (SIE) ซึ่งแผงควบคุมนี้จะติดตั้ง Firmware ซึ่งเป็นอุปกรณ์หน่วยความจำประเภท EEPROM ที่สามารถโปรแกรมได้ ภายในหน่วยความจำประกอบด้วยข้อมูลข่าวสารเรียกว่า Descri ptor ที่มีไว้เพื่อใช้ซอฟต์แวร์อ่านเพื่อพิสูจน์ความมีตัวตนของอุปกรณ์ที่เชื่อมต่อกับ Port ของ Hub นอกจากนี้ Hub Controller ยังรวบรวมเอาข้อมูลข่าวสารเกี่ยวกับสถานะของ Hub และ Port ซึ่งซอฟต์แวร์ของ USB Host นำไปใช้เพื่อตรวจสอบดูว่าอุปกรณ์มีการเชื่อมต่อหรือไ ด้ถอดออกไปจาก Port ของ Hub แล้ว รวมทั้งตรวจสอบดูสถานะการทำงานของ Hub นอกจากนี้ Hub Controller ยังรับเอาคำสั่งจากซอฟต์แวร์ของ Host เพื่อควบคุมการทำงานของ Hub ได้อีกด้วย



2. Hub Repeater



ข้อมูลข่าวสารที่วิ่งอยู่บน USB Bus จะต้องวิ่งไปข้างหน้า ไม่ว่าจะวิ่งไปตามกระแสจากล่างขึ้นบน(วิ่งจากอุปกรณ์ไปยัง Host) หรือวิ่งไปตามกระแสลงข้างล่าง (วิ่งจาก Host มายังอุปกรณ์ USB) โดยที่การส่งกระจายข้อมูลจาก Host จะต้องวิ่งไปที่ Root Port ของ Hub และ จะวิ่งไปยัง Port ทั้งหมดของ Hub ที่ยังทำงานอยู่ เมื่ออุปกรณ์ USB ปลายทางได้รับการติดต่อจาก Host แล้ว จะส่งข่าวสารที่เป็นการตอบสนอง วิ่งเป็นกระแสขึ้นบนกลับมาที่ Host โดยที่ Hub จะส่งต่อไปที่ Port ของ USB ที่เชื่อมต่อกับ Root Hub(เรียกว่า Downstream Port) เพื่อส่งต่อไปที่ Root Hub จากนั้น Root Hub ก็จะส่งต่อไปที่ Host อีกทีหนึ่ง





ชนิดของการถ่ายเทข้อมูลบน USB

USB สามารถตอบสนองความต้องการที่จะส่งถ่ายข้อมูลหลากหลายชนิดจากแอพพลิเคชัน ซึ่งในระบบ USB สามารถมีระบบการถ่ายเทข้อมูลได้ 4 แบบ ดังนี้

Interrupt Transfer-Interrupt Transfer

Bulk Transfer-Bulk Transfer

Isochronous Transfer

Control Transfer-Control Transfer



การเชื่อมต่อและสาย

USB Connector ได้ถูกออกแบบมาเพื่อยอมให้อุปกรณ์รอบข้างหรือ Peripheral สามารถเชื่อมต่อเข้ามาที่ทางช่องเสียบของฮับได้ ช่องเสียบของฮับนี้ติดตั้งอยู่ที่ด้านหลังของคอมพิวเตอร์ หรืออาจเกี่ยวพันกับอุปกรณ์รอบข้างอื่น ๆ เช่น จอภาพ และ เครื่องพิมพ์ หรืออาจจะเป ็นช่องเสียบของฮับแบบโดดเดี่ยว



1 Connector

อุปกรณ์รอบข้างแบบ USB จะต้องมีการเชื่อมต่อกับช่องเสียบด้วยสัญญาณหาก Connector ที่ปลายทั้งสองด้านของสาย USB เป็นแบบเดียวกัน ก็แสดงว่ามีการเชื่อมต่อสายระหว่างช่องเสียบ USB มาตรฐาน USB ซึ่งได้ออกแบบ Connector เพื่อใช้งานอยู่ 2 แบบ

(1) Series A Connector เป็น Connector เพื่อการเชื่อมต่อระหว่าง USB Port กับสายเชื่อมต่ออุปกรณ์รอบข้าง (Peripheral)

(2) Series B Connector ถูกนำมาใช้กับอุปกรณ์รอบข้าง

แสดงลักษณะของ USB Port ที่ด้านหลังของคอมพิวเตอร์



2 สายของ USB

มาตรฐานของ USB ได้กำหนดอัตราความเร็วสูงสุดสำหรับช่องทาง USB ไว้ที่ 12 MB/s ซึ่งเป็นความเร็วสูงสุดและช่องทางย่อยที่ความเร็ว 1.5 MB/s สายสัญญาณที่ใช้เพื่อการถ่ายเทที่ความเร็วสูงสุดจะต้องถูกออกแบบเป็นพิเศษเพื่อป้องกันสัญญาณรับกวนจากสนามแม่เหล็กไฟฟ้า ขณะ ที่สายสัญญาณที่ใช้เพื่อการส่งข้อมูลความเร็วต่ำถูกนำมาใช้กับการเชื่อมอุปกรณ์ความเร็วต่ำ เช่น เมาส์และคีย์บอร์ด

(1) สายสัญญาณสำหรับส่งถ่ายข้อมูลความเร็วต่ำ สายสัญญาณชนิดนี้จะส่งผ่านข้อมูลต่ำที่ความเร็ว 1.5 MB/s ถูกนำมาใช้งานที่ไม่ต้องการแบนด์วิดธ์หรือช่องสัญญาณกว้าง และความยาวของสายสัญญาณจะต้องไม่เกิน 3 เมตร ขนาดของเส้นลวดคือ 28 AWG

(2) สายสัญญาณสำหรับส่งถ่ายข้อมูลความเร็วสูง สายสัญญาณประเภทนี้เป็นสายตีเกลียวประเภท Shieled Twisted Pair หรือ สายตีเกลียวที่ห่อหุ้มด้วยสื่อที่ป้องกันสัญญาณรบกวน รวมทั้งสายแบบธรรมดา สายสัญญาณประเภทนี้มีระยะทางสูงสุดไม่เกิน 5 เมตร อีกทั้งมี Propagation Delay ไม่เกิน 30 ns เมื่อทำงานที่ความถี่ตั้งแต่ 1-16 MHz4954

หม่องมา
http://www.svoa.co.th/st_article_info.php?id=103

มารู้จัก USB 2.0 High speed กันเถอะ


ในโลกปัจจุบันมีการใช้การเชื่อมต่อสือสารโดยใช้ USB มากกว่า 2 พันล้าน ซึ่ง USB นั้นกำลังจะได้กลายเป็นมาตราฐานในอุสาหกรรมคอมพิวเตอร์ส่วนบุคคลในไม่ช้า เพราะด้วยประสิทธิภาพที่เร็ว และความสมบูรณ์พร้อมที่จะก้าวเข้าสูโลกการสือสารที่ต้องการความรวดเร็ว USB จึงเป็นอุปกรณ์ไร้สายใหม่ที่รวบความเร็วและความปลอดภัยและง่านต่อการใช้งานไว้ในอุปกรณ์นี้ การติดต่อสื่อสารไร้สายอธิเช่น รูปแบบการติดต่อสื่อสารทาง Mobile Computing USB จะสนับสนุนการทำงานแบบ High speed wireless โดยร่วมกับ WiMedia MB-OFDM Ultrawideband(UWB) ซึ่งเป็น Platform Radio ที่จะพัฒนาโดย WiMedia Alliance



UWB เป็นเทคโนโลยีที่ช่วยในเรื่อง High bandwidth และ ต้นทุนต่ำ แต่ยังไม่แพร่หลายในปัจจุบัน ซึ่งในอนาคตจะเป็นอีกเทคโนโลยีหนึ่งที่แพร่หลายอย่างแน่นอน

* USB เป็นที่หนึ่งของ high speed ในการติดต่อสือสารที่ต้องการความรวดเร็วเช่น Mutimedia ,PC peripherals,Mobile device

* USB จะป้องกันอันตรายของการทำงาน และสนับสนุน Streaming media CE device และ peripherals

* USB มีประสิทธิภาพได้มากถึง 480 Mbps ถึง 3 meter และ 110 Mbps ถึง10 meters



USB พอร์ทสื่อสารอนุกรม ที่ปัจจุบันได้รับความนิยมมาก เนื่องจาก ต่ออุปกรณ์ได้มากถึง 127 อุปกรณ์ ด้วยความเร็วที่มากกว่า ถึง 12Mbits/s และจะมากถึงประมาณ 400 Mbits/s บน USB 2.0 เทคโนโลยี USB นี้มีความสามารถถึงขนาดนี้ได้อย่างไร



USB คืออะไร

4950

การสื่อสารระหว่างคอมพิวเตอร์และอุปกรณ์ต่อพ่วงต่างๆจำเป็นที่จะต้องมี I/Oพอร์ทเพื่อใช้ในการสื่อสาร ( I/O = input , output ) ในสมัยก่อน พอร์ทที่รู้จักกันดี ก็คือ serial port หรือเรียกกันว่า com port และ parallel port แต่ข้อจำกัดของ พอร์ท เหล่านี้นั้นมีมากพอสมควรไม่ว่าจะเป็นเรื่องของ ความเร็ว จำนวนอุปกรณ์จะนำมาต่อได้ และคุณสมบัติทางด้าน Plug & Play USB ก็เป็น I/O port ที่ทำงานในลักษณะ serial bus เช่นกัน สามารถต่อได้กับอุปกรณ์ถึง 127 อุปกรณ์ ต่อ 1 พอร์ท และ สนับสนุนการทำงานแบบ Plug & Play การทำงานในรูปแบบของdaisy-chain devices led อย่างเต็มรูปแบบ โดยจะทำการ ค้นหา และ ตั้งค่าของอุปกรณ์ที่นำมาต่อให้อย่าง อัตโนมัติ ไม่จำเป็นต้อง assign ค่า IRQ เพียงแต่ใส่แผ่น Driver ของอุปกรณ์ที่นำมาติดตั้ง และส่วนมากไม่จำเป็นต้อง reboot เครื่องหลังจากติดตั้ง Driver ด้วย ถ้าหากอุปกรณ์นั้นใช้กำลังไฟฟ้าไม่มาก Port USB ก็จ่ายไฟเลี้ยงให้กับอุปกรณ์ต่างๆได้ด้วย

USB ใช้ระบบการจัดส่งข้อมูลอย่างไร

สำหรับ USB เราเรียกระบบบัสเช่นนี้ว่า การติดต่อแบบ "Host/Slave" หมายถึงตัว PC จะเป็นผู้จัดการ การจัดส่งข้อมูลทั้งหมด และอุปกรณ์ที่นำมาต่อพ่วงเพียงแต่พร้อมที่จะรับส่งข้อมูลเท่านั้น โดยตัว USB Host Controller หรือตัวควบคุมของ USB นั้น จะรวมอยู่ในตัว Chipset บนเมนบอร์ด แต่ถ้าหากเป็น Chipset รุ่นเก่าๆก็จะยังไม่มีตัวควบคุม USB ในการจัดส่งข้อมูลนั้น ภายในสาย USB จะมีสายภายในทั้งหมด 4 เส้น ในจำนวนนี้ 2 เส้นใช้เพื่อเป็นสายในการส่งข้อมูล อีก 2 เส้นใช้สำหรับจ่ายไฟเลี้ยง แรงดัน +5 V และ กราวด์ ข้อมูลที่ถูกส่งผ่าน USB นั้นจะต่างไปจาก Parallel และ Serial port ซึ่งทั้ง 2 ชนิดนี้นั้น จะส่งข้อมูลเป็น bits เดี่ยวๆ แต่ USB จะส่งเป็นชุดข้อมูล อย่างเช่น ถ้าหากต้องการ เก็บข้อมูลไปยัง USB Zip drive PC จะทำการแบ่งข้อมูลออก มา 64-bytes แล้วใส่ข้อมูลของ address เข้าไปแล้วส่งไปยัง USB port จากนั้นก็จะทำเช่นนี้จนกระทั่งส่งข้อมูลครบสิ่งที่ทำให้ USB ส่งข้อมูลได้เร็วถึง 12Mbits/s นั้นอยู่ที่แม่นยำของการส่ง เพราะ สายที่นำมาใช้สำหรับ USB นั้น มีระดับสัญญาณรบกวน และ ความเพี้ยนของรูปสัญญาณนั้นน้อยกว่า ทั้ง Parallel และ Serial port และการส่งสัญญาณแบบ isochronous data delivery หมายถึง อุปกรณ์แต่ล่ะชิ้นบนระบบบัสนั้น จะถูกจำกัดขนาดของ bandwidth ให้แน่นอน อย่างไรก็ตาม bandwidth โดยรวมแล้วก็ไม่เกิน 12 Mbits/s นี่เป็นเหตุผลที่ทำให้ USB สามารถต่ออุปกรณ์ได้มากที่สุด 127 อุปกรณ์





จากภาพที่เห็นการต่ออุปกรณ์ต่อพ่วงออกจากเครื่อง PC ไปยัง อุปกรณ์ต่างๆ อย่างเช่น จาก port USB แรก ไปยัง Powered USB Hub แล้วต่อไปยังอุปกรณ์ อื่นๆ รวมถึงต่อไปยัง Powered USB Hub เพื่อต่ออุปกรณ์เพิ่มเข้าได้อีกได้เรื่อยๆ ในลักษณะของการต่อแบบ อนุกรม ส่วน port USB ชุดที่ 2 หลังเครื่องนั้นสามารถต่อไปยัง Monitor ได้โดยอิสระต่อกัน จะสังเกตุได้ว่าหากการต่อมี USB Hub เข้ามาต่อพ่วงด้วย ที่ตัว Hub จำเป็นจะต้องมีชุดจ่ายไฟด้วย เพราะลำพังไฟเลี้ยงจากตัว PC เองคงไม่พอที่จะส่งไปเลี้ยงอุปกรณ์ ต่างๆ ได้



ดังนั้นเราอาจมองได้ว่าสิ่งที่จะต่อจาก USB port นั้นมี 2 ชนิด ก็คือ ต่อเข้าได้กับ Hubs หรือต่อกับ อุปกรณ์ Hubs นั้นมีหน้าที่ ทำให้ สามารถต่ออุปกรณได้มากขึ้นบนระบบบัส บางครั้ง Hubs จะเข้าไป รวมกับอุปกรณ์ อย่างเช่น Monitor ที่มี USB Hubs ในตัว โดยจะ สามารถปรับค่าต่างๆของ Monitor ผ่านระบบปฏิบัติการณ์ และ นอกจากนั้นมีหน้าที่เป็น Hubs ด้วย



Features ที่น่าสนใจของ USB

ก็คือ Hot Pluging และ Plug & Play Feature Hot Pluging นี้นั้นทำให้ เราสามารถที่จะต่อ และ ถอด อุปกรณ์ USB ได้โดยไม่จำเป็นต้อง restart เมื่อ Plug USB ต่อเข้ากับ USB port แล้ว อุปกรณ์ที่ต่อพ่วงเข้าไปจะทำการส่งสัญญาณไปยังเครื่อง PC เพื่อบอกว่าตัวอุปกรณ์นั้น ได้อยู่บนระบบบัสแล้ว และเมื่อติดต่อกัน เรียนร้อย ตัวอุปกรณ์จะส่งข้อมูลของ bandwidth ที่อุปกรณ์นั้นต้อง การไปยัง PC ใน USB มาตรฐานปัจจุบันคือ USB 1.1นั้น ได้แบ่งแยก bandwidth ออกไป 2 ชนิดคือ ความเร็วต่ำ และ ความเร็วปานกลาง โดย อุปกรณ์ ความเร็วต่ำนั้น อย่างเช่น keyboard mouse เป็นต้น และ bandwidth ของอุปกรณ์ความ เร็วต่ำจะถูกจำกัดอยู่ที่ 1.5Mbits/s และอุปกรณ์ความเร็วปานกลาง อย่างเช่น Printer , Scanner , Webcamera อุปกรณ์ ความเร็วปานกลาง เช่นนี้สามารถที่จะส่งข้อมูลได้เต็ม bandwidth คือ 12 Mbits/s หลังจาก PC จัดการกับ ค่า bandwidth ที่อุปกรณ์ต้องการแล้วก็จะกำหนด ค่าหมายเลข ให้กับอุปกรณ์เพื่อจะใช้ในการรับส่งข้อมูล เช่นเดียวกับ IRQ นั่นเอง และหาก ถอดอุปกรณ์ออก PC จะทำการกำหนดค่า bandwidth และ หมายเลขใหม่ ส่วนระบบ Plug & Play นั้นหมายถึง เมื่อติดตั้ง อุปกรณ์เข้าไปอุปกรณ์นั้นๆจะสามารถทำงานได้ในระดับหนึ่งโดยไม่จำเป็นที่จะต้องการ Driver โดย Windows98 จะมี Driver อยู่ในตัวอย่างเช่นอุปกรณ์จำพวก keyboard , mouse และ external hard drives แต่อุปกรณ์อื่นๆก็ยังมักจะต้องมี Driver สำหรับอุปกรณ์นั้นๆ



USB นั้นแพร่หลายแค่ไหน

ในปัจจุบันนี้อุปกรณ์ต่อพ่วงส่วนมากหันมาใช้ USB กันมากแล้ว บริษัทผู้ผลิต CPU รายใหญ่อย่าง Intel เองก็ได้ใส่ Host Controller ลงใน Chipset ตั้งแต่ Chipset TX มาแล้ว และ OS (operating systems) ในปัจจุบันก็รองรับการทำงานกับ USB ได้เป็นอย่างดีไม่ว่าจะเป็น Windows 98/2000, Linux (development kernels only), and Mac OS ทั้งนี้รวมไปถึง Dell, Compaq, NEC ที่เป็นผู้ผลิตคอมพิวเตอร์รายใหญ่ก็ใช้ USB มานานพอสมควรแล้วเช่นกัน เมื่อก่อนในยุคแรกๆ นั้นอุปกรณ์ USB ยังอาจจะไม่สามารถใช้กับเครื่องรุ่นเก่าได้แต่ก็มีอุปกรณ์ที่เป็น PCI card เพื่อให้สามารถต่อ USB ได้ แต่ทุกวันนี้เครื่องบาง เครื่องนั้นถูกออกแบบมาให้ใช้กับ keyboard , mouse USB เลยโดยจะไม่ใช้ port PS/2 เลยและ อุปกรณ์ที่เมื่อก่อนใช้กับ Parallel Port เท่านั้นอย่าง Printer และ Scanner ปัจจุบันก็เปลี่ยนมาใช้ Port USB โดยที่ราคาไม่ได้สูงจากเดิมมากนัก และต่อไป external drive ไม่ว่าจะเป็น Zip drive หรือ CD-RW drive ก็จะหันมาใช้ USB กัน และยิ่งถ้าหาก USB 2.0 แพร่หลายเชื่อว่า อุปกรณ์ต่อพ่วงเกือบทั้งหมดจะใช้ USB



USB 2.0





USB 2.0 นั้นเป็นเทคโนโลยีของปี 2000 อย่างแท้จริง เพราะ USB 2.0 นั้นได้รับการพัฒนาจน สามารถเร็วกว่า USB 1.1 ในปัจจุบันกว่า 40 เท่า USB 2.0 นั้นก็คือ มาตรฐาน IEEE 1394 ที่ทาง Apple เป็นผู้พัฒนาขึ้นมาและเรียกเทคโนโลยีว่า FireWire และ FireWire หรือ USB 2.0 นั้นมี เป้าหมายในการ รับส่งข้อมูลด้วยความเร็วประมาณ 360 - 480 Mbits/s หรือ ประมาณ 60 MB/s แต่ในระหว่างการพัฒนาเพื่อใช้สำหรับเครื่อง PC โดยทาง Intel ก็พบว่าความเร็วอาจจะไม่ได้ ตามที่มุ่งหวังกันไว้ เนื่องจาก Chipset ในปัจจุบันของทาง Intel เองยังมีปัญหาในระดับ core logic ถ้าหากจะทำงานกับ IEEE 1394 ถึงแม้ IEEE 1394 จะเป็นหนทางที่ทำใหใช้อุปกรณ์ต่อพ่วงกับ PC ได้ประสิทธิภาพสูงในราคา ต่ำแต่ยังไม่เป็นที่ยืนยันว่า Chipset รุ่นต่อไปจะรองรับการทำงานของ IEEE 1394 จากทาง Intel และ Intel ยังกล่าวอีกว่าไม่ แน่นอนในเรื่องของ ต้นทุน และ licensing สำหรับการรับ IEEE 1394 ที่จะต้องจ่ายให้กับ Apple แต่ในปัจจุบันระบบ Hardware ที่ออกแบบมาสำหรับ USB ก็ยังเป็นมาตรฐาน USB 1.1 ซึ่งความเร็วก็เพียงพอสำหรับ Printer และ Scanner และอุปกรณ์ต่างๆ ก็ออกแบบมาสำหรับ USB 1.1 มากมายแล้ว นั่นทำให้อดสงสัยไม่ได้ว่าหาก IEEE 1394 หรือ USB 2.0 มาเป็นมาตรฐานนั้น แล้วอุปกรณ์ USB รุ่นเก่าจะยังสามารถใช้กับ USB 2.0 ได้หรือไม่



Reference
http://www.svoa.co.th/st_article_info.php?id=102

http://www.pcworld.com/

http://www.usb.org/

http://www.pantip.com/



วันอาทิตย์ที่ 19 ตุลาคม พ.ศ. 2551

HDD.Regenerator.1.51

โปรแกรมสำหรับการฟอแมตเครื่องแบบ ทำลายล้าง.....รักษา BAD Sector ที่พบ เมื่อก่อนได้ยินมาว่า ใช้ในงานของกระทรวงกลาโหมสหรัฐ

ที่มา

http://www.thaiopenlinux.com/articles/WindowsTips/remove-bad-sector-with-hddregenerator.html

ขออนุญาตินำมาอ้างอิงนะครับ



หลาย ๆ คนที่ใช้คอมพิวเตอร์อาจจะเจอปัญหา Haddisk ที่ใช้ไปนาน ๆ จะเกิด Bad Sector หรือเกิดมาจากหลาย สาเหตุ เช่น ไฟฟ้าดับ ไฟกระซาก หรือจากสาเหตุอื่นใดก็ตาม อย่าเพิ่งทิ้ง Harddisk ไปเสียละ เรามีทางแก้ที่คุณอาจซุบชีวิต HDD ของคุณให้กลับมาเหมือนเดิมได้ ซึ่งผมเองก็ใช้วิธีแก้นี้อยู่เป็นประจำ ก่อนหน้านี้มีลูกค้าของผมเอา HDD ที่มี Bad จนใช้งานอะไรไม่ได้มาทิืงไว้ที่ร้านหลายตัวเช่น ซึ่งการแก้โดยวิธีนี้ผมได้วิธีการมาจากน้อง ๆ ในสำนักงานที่

หาวิธีเอาข้อมูลคืนจาก HDD ที่เสีย หลังจากนั้นก็ลองกับ HDD ที่ลูกค้าเอามาทิ้งไว้นั่นแหละ ปรากฏว่าสามารถชุบชีวิตมันคืนได้เกือบทั้งหมด มาดูวิธีการกันดีกว่า

เตรียมพร้อม

ให้ไป Download โปรแกรม HDD Regenerator จากเว็บ http://www.rundegren.com หรือ คลิกที่นี่ เลือกเอาเวอร์ชั่นที่ใหม่ที่สุด ส่วนผมใช้ HDD Regenerator v1.42



เตรียมแผ่นงาน

1. ให้แตก ZIP ออกก็จะได้โปรแกรมดังภาพ


2. เตรียมแผ่น Floppy Disk เปล่าที่ Format เสร็จเรียบร้อยแล้วใส่ใน Drive A เตรียมไว้เลย

3. ให้ Double click ที่ icon ของโปรแกรมดังในรูปข้างบน ก็ทำตามขั้นตอนไปเลย



คลิกที่ปุ่ม Create เพื่อสร้างแผ่นโปรแกรม




โปรแกรมก็จะเริ่มทำการสร้างแผ่น



เมื่อเสร็จแล้วให้คลิกปุ่ม OK ก็เป็นเสร็จสิ้นการสร้างแผ่นโปรแกรม


การเอา Bad Sector ออกจาก HDD
1. ให้ใส่ HDD ที่มี Bad Sector เข้าไปในคอมพิวเตอร์ พร้อม Detect HDD ให้เรียบร้อย

ใส่แผ่น Floppy Disk ที่เราสร้างโปรแกรมเมื่อขั้นตอนที่ผ่านมาใน Drive Floppy Disk

ตั้งการ Boot ให้ใน Bios ให้ Boot จาก Floppy Disk

เริ่ม Boot เครื่องได้





ระบบก็จะทำการตรวจสอบว่ามี HDD อยู่กี่ตัว เพื่อให้เราเลือก SCAN เพื่อ Remove Bad Sector



หากต้องการให้ SCAN ทั้งหมดก็ให้ Enter ผ่านไปเลยหลังจากนั้นโปรแกรมก็จะทำการ

SCAN HDD ให้เพื่อ Remove ไปเรื่อย ๆ จนเสร็จสิ้น ซึ่งเวลาที่ใช้ในการแก้ปัญหาก็ขึ้น

อยู่กับพื้นที่ที่เกิด Bad Sector หากมากก็ใช้เวลามาก

ซึ่งวิธีการแก้ปัญหานี้ผมลองมาแล้วกับ HDD ที่เขาทิ้งแล้ว ส่วนใหญ่ก็นำกลับมา

ใช้ได้เกือบ 90 % แต่หาก Scan แล้วยังมีปัญหา Bad Sector แนะนำให้นำ HDD มา

FDISK ใหม่ก่อน แล้วค่อยนำไปใช้งาน จะแก้ปัญหาได้

วันอังคารที่ 14 ตุลาคม พ.ศ. 2551

ก า ร เ กิ ด B a d ข อ ง Ha r d d i s k

บทความนี้ได้มาจากการที่มีผู้ใจดีมาโพสต์ไว้ในกระทู้ของ pantip.com ซึ่งเห็นว่าน่าจะมีประโยชน์สำหรับผู้ที่สนใจ และไม่อยากให้บทความดี ๆ ต้องสูญหายไป ดังนั้น จึงขอนำเอาข้อความที่มีผู้มาโพสต์นี้ เก็บไว้ในที่แห่งนี้ เพื่อเผยแพร่ค่ะ (ขอให้อ่านโดยใช้ความเชื่อของท่านเองนะคะว่าจะเชื่อหรือไม่ อย่างไร)

การ Low-level Format และ High-level Format


การ Low-lovel Format
เป็นกระบวนการทำงานของฮาร์ดดิสก์โดยมีจุดประสงค์เพื่อสร้างหรือกำหนด
Track, Sector หรืออธิบายได้อีกอย่างว่าเป็นการเขียนโครงสร้างของ
Track,Sector ตามรูปแบบที่ Firmware
ภายในฮาร์ดดิสก์ได้กำหนดไว้ เพื่อให้การทำงานของกลไกภายในกับวงจรควบคุมหรือ
PCB สอดคล้องเป็นระบบเดียวกัน ซึ่งการ
Low-level Format นั้นเป็นการลบข้อมูลทุกสิ่งทุกอย่าง
โดยที่ข้อมูลทุกสิ่งทุกอย่างจะถูกลบไปอย่างถาวรจริง




ก่อนอื่นเราต้องเข้าใจกันเสียก่อนว่า
การ Low-level Format นั้น เป็นกระบวนการทำงานหรือเป็นคำสั่งของฮาร์ดดิสก์รุ่นเก่า
ที่ยังใช้ Actuator แบบ Stepper Motor
,ใช้ระบบ Servo เก่า ๆ แบบ Dedicated
Servo, มีการใช้โครงสร้างของ Track,
Sector แบบเก่า ซึ่งฮาร์ดดิสก์ในปัจจุบันนี้ไม่ใช่และไม่เหมือนกันเลย
การใช้ Stepper Motor เป็น Actuator
ของฮาร์ดดิสก์รุ่นเก่า ๆ นั้น มีข้อเสียหรือจุดอ่อนตรงที่เมื่อเราใช้ไปนาน
ๆ เฟืองกลไกภายใน Motor จะหลวม ทำให้การควบคุมให้หัวอ่าน/เขียนอยู่นิ่ง
ๆ บน Track (ที่จะอ่านข้อมูล)เป็นไปได้ยาก
และอีกสาเหตุที่กลไกหลวม ก็เพราะอุณหภูมิที่สูงซึ่งเกิดจากการที่ตัว
Actuator เคลื่อนที่ไปมาเพื่อหาข้อมูล
แน่นอนค่ะ



มันเป็นโลหะที่ต้องมีความร้อนเกิดขึ้น
เปรียบเทียบก็เหมือนกับ Ster รถจักรยานหรือรถจักรยานยนต์
ที่ต้องรูด เมื่อเจอกับโซ่ที่ลากผ่านไปมาเป็นเวลานาน
ๆ และก็เป็นสาเหตุให้หัว/อ่านเขียน
ไม่สามารถอ่านข้อมูลได้อย่าง ถูกต้อง
ยิ่งนับวันอาการก็จะรุนแรงมากขึ้น



อีกประการหนึ่งที่การ Low-level Format
ไม่สามารถนำมาใช้กับ ฮาร์ดดิสก์รุ่นใหม่ได้ก็เพราะโครงสร้างการจัดวาง
Track, Sector ไม่เหมือนกัน ฮาร์ดดิสก์รุ่นเก่าจะมีจำนวนของ
Sector ต่อ Track คงที่ ทุก ๆ Track
แต่ในฮาร์ดดิสก์รุ่นใหม่ จำนวนของ
Sector จะแปรผันไปตามความยาว ของเส้นรอบวง
(ของ Trackนั่นแหละค่ะ) ยิ่งต่างรุ่นต่างยี่ห้อต่างความจุ
ก็ยิ่งต่างไปกันใหญ่ หากเราฝืนไป
Low-level Format บอกตรง ๆ ว่านึกไม่ออกว่าจะเกิดอะไรขึ้น
ฮาร์ดดิสก์อาจไม่รับคำสั่งนี้เพราะ
ไม่รู้จักหรืออาจรับคำสั่งแล้วแต่ไม่รู้จะทำอย่างไร
จนอาจจะทำให้วงจรคอนโทรลเลอร์ (PCB)
สับสนกันเอง (ระหว่าง IC) จนตัวมันเสียหายก็ได้
แต่ถ้าฮาร์ดดิสก์ของเพื่อนท่านใดเป็นรุ่นเก่า
ซึ่งมีลักษณะตรงกับที่เอ่ยมา และมี
BIOS ที่สนับสนุนก็สามารถ Low-level
Format ได้ครับ (เช่น คอมฯ รุ่น 286
ที่มี Hdd 40MB.) เราจะเห็นได้ว่า
BIOS รุ่นใหม่จะไม่มีฟังก์ชั่น Low-level
Format แล้ว เพราะ BIOS ก็ไม่อาจที่จะรู้จักโครงสร้าง
Track, Sector ของฮาร์ดดิสก์ได้ทุกยี่ห้อ
ทุกรุ่นเพราะความต่างอย่างที่บอกไว้ละค่ะ




กลับมาสู่ความจริงของความรู้สึกเรากันหน่อยนะคะ
ซึ่งเข้าใจดีว่า เพื่อน ๆ ทุกคนหากเมื่อเจอ
Bad Sector ในฮาร์ดดิสก์ของตัวเองย่อมใจเสียแน่นอน
เพราะข้อมูล ที่อยู่ข้างในนั้นมีผลกับจิตใจ
กับความรู้สึกของเรามาก และเราต้องการที่จะได้มันคืน
และในตอนนั้นเราก็ไม่ได้คิด ถึงด้วยซ้ำว่าเราซื้อมันมาแพงแค่ไหน
และถ้าหากเราได้ยิน ได้ฟังอะไรที่เล่าต่อกันมาว่า
มันสามารถที่จะทำให้ฮาร์ดดิสก์ของเราดีเช่นเดิมได้
เราย่อมให้ความสนใจ อยากลอง อยากได้
อยากมี แต่ว่าการ Low-level Format
นั้นใช้ไม่ได้กับฮาร์ดดิสก์รุ่นใหม่
ๆ เราไม่สามารถเอา สนามแม่เหล็กมาเรียงให้ดีเหมือนเดิมได้
และไม่มีเครื่องมืออะไรที่จะมาช่วยได้ด้วย
ก็ต้องปลง และถนอมมัน ให้ดีที่สุด




การ High-level Format หรือการ Format (หลังจากการแบ่ง Partition แล้ว)
ที่เราเรียกกันอยู่บ่อย ๆ โดยใช้
DOS นั้นมีจุดประสงค์เพื่อทำการเขียนโครงสร้างของระบบไฟล์
(FAT: File Allcation Table ซึ่งมีทั้ง
FAT32 และ FAT16) และเขียน Master
Boot Record (ซึ่งเป็นพ.ท.ที่จะเก็บแกนหลักของระบบปฏิบัติการเช่น
DOS) การ Format นี้นั้นฮาร์ดดิสก์จะไปลบ
FAT และ Master Boot Record ทิ้งไป
แต่มันไม่ได้ทำการลบทุกสิ่งทุกอย่าง
เหมือนดังเช่นเรากวาดของบนโต๊ะทิ้งไปจนเหลือแต่พื้นเรียบๆ
มันแค่ทำการเขียนข้อมูล "0000"
ลงไปบนแผ่นดิสก์ เท่านั้น ซึ่งคำว่า
"เขียนข้อมูล
0000 ก็คือการFormat ของเรานั่นแหละค่ะ"

ดังนั้นหากใครคิดว่าการ Format บ่อย
ๆ นั้น ไม่ดีก็นานาจิตตังค่ะ



บางคนถามว่า Virus ทำให้เกิด Bad Sector ได้หรือไม่
ขอตอบว่าไม่ แต่มันทำให้ ฮาร์ดดิสก์เสียได้ค่ะ
เพราะการที่มันเข้าไปฝังที่
Master Boot
Record
ค่ะ ก็ต้องแก้กันโดยการ
Fdisk
กำหนด Partition
กันใหม่ และVirus ก็เป็นเพียงแค่ข้อมูล
ๆ หนึ่งที่เราจะลบทิ้งไปก็ได้ และ
Virus จะเข้าไปใน Firmware
และSystem Area ของฮาร์ดดิสก์ก็ไม่ได้เด็ดขาด
เพราะ Firmware ของฮาร์ดดิสก์จะไม่ยอมให้แม้กระทั่ง
BIOS ของคอมฯเห็น Cylinder นี้ซึ่งเสมือนว่า
Cylinder นี้ไม่มีอยู่จริง การที่ฮาร์ดดิสก์พบ
Bad Sector นั้น มันจะทำการทดลองเขียน/อ่านซ้ำ
ๆ อยู่พักหนึ่งจนกว่าจะครบ Loop ที่
กำหนดแล้ว ว่าเขียนเท่าไหร่ก็อ่านไม่ได้ถูกต้องซักที
ฮาร์ดดิสก์ก็จะตีให้จุดนั้นเป็นจุดต้องห้ามที่จะเข้าไปอ่านเขียนอีก
แต่ถ้าข้อมูลสามารถกู้คืนมาได้มันก็จะถูกย้ายไปที่
ๆ เตรียมไว้เฉพาะ เมื่อฮาร์ดดิสก์ตีว่าจุดใดเสียแล้วมันจะเอาตำแหน่งนั้นไปเก็บที่
System Area ซึ่งข้อมูลที่บอกว่ามีจุดใดที่เสียบ้างนั้นจะถูกโหลดมาทุกครั้งที่ฮาร์ดดิสก์
Boot และเราไม่สามารถเข้าไปแก้ข้อมูลนี้ได้ด้วยค่ะ
Norton ก็ทำไม่ได้ สิ่งที่มันทำ ก็ทำได้แค่
Mark ไว้แล้วก็เก็บข้อมูล นี้ไว้
จากนั้นก็ทำเหมือนกับที่ Firmware
ฮาร์ดดิสก์ทำ คือไม่เข้าไปยุ่งเกี่ยว
พ.ท.นี้อีก หรือหลอกเราว่าไม่มี พ.ท.เสีย
เกิดขึ้นเลย การ Format ด้วย DOS
ก็แก้ไขไม่ได้เช่นกันคะ เพื่อน ๆ
บางคนคิดว่าหากมี Bad Sector แล้วมันจะขยายลุกลามออกไป
ขอตอบว่าไม่จริงค่ะ เราไม่ควรลืม
ว่า บนแผ่นดิสก์นั้นคือสารแม่เหล็กที่ฉาบอยู่
และมันหลุดได้ยาก ต่อให้หลุดแล้วก็ลามไม่ได้ด้วยนะคะ



การซ่อมฮารด์ดิสก์ โดยแก้ไขไม่ให้มี Bad Cluster หรือ Bad Sector



ขอชี้แจงเรื่อง การซ่อมฮารด์ดิสก์ โดยแก้ไขไม่ให้มี Bad Cluster หรือ Bad Sector
ให้เพื่อน ๆ เข้าใจสักหน่อยนะคะว่า การที่ฮารด์ดิสก์มี
Bad Cluster หรือ Bad Sector นั้น
เราไม่สามารถที่จะแก้ไขไม่ให้มันหายไปได
เพราะการทำงานของ Firmeware
ในฮารด์ดิสก์จะกำหนดไว้ว่า ถ้าหากหัวอ่าน/เขียนของมัน
พบปัญหา เช่นอ่านแล้วข้อมูลไม่ถูกต้อง
และวงจรตรวจสอบที่อยู่บน PCB มันใช้
ECC หรือ CRC หรือ Read Retry (หรือวิธีอื่น
ๆ ที่แล้วแต่เทคโนโลยีของ บ. ผู้ผลิต)
เข้ามาช่วยแล้วแต่แก้ไขไม่ได้ ฮารด์ดิสก์จะตีว่า
พ.ท.นั้นเป็น Defect
หรือกำหนดให้เป็นจุดเสียที่มันจะไม่เข้าไปยุ่งเกี่ยวอีก
และข้อมูลที่เอาไว้บอกตัวฮารด์ดิสก์เองว่าจุดใดบ้างที่เสียนั้น
จะเก็บไว้ที่ System Area ซึ่งเป็น
Cylinder ที่เราจะเข้าไปแก้ไขข้อมูลในจุดนี้ไม่ได้เลย
เพราะเป็น Cylinder ที่ฮารด์ดิสก์กันเอาไว้ให้ตัวของมันเองโดยเฉพาะ
และทุกครั้งที่ฮาร์ดดิสก์บูตมันจะต้องเข้าไปอ่านข้อมูลที่
System Area แล้วเอามาเก็บที่ Ram
เพื่อที่จะบอกกับตัวมันเองว่ามี
พ.ท. ตรงไหนบ้างที่ห้ามเข้าไปอ่าน/เขียน



การที่จะเข้าไปแก้ข้อมูลในจุดนี้ต้องใช้เครื่องที่โรงงานผู้ผลิตนั้นออกแบบมาโดยเฉพาะ
และต่อให้เราเข้าไปแก้ได้ก็ไม่มีประโยชน์เพราะ
พ.ท.ตรงนั้นอาจมีสิ่งสกปรกติดอยู่
หรือสนามแม่อาจถูกกระทบกะเทือนจนหลุดออก
ซึ่งเป็นชิ้นเล็กที่ตาเปล่ามองไม่เห็น
และในความเป็นจริงยังมีสาเหตุอื่น
ๆ อีกมากที่ทำให้เกิด Bad Cluster
หรือ Bad Sector ก็ตามแต่จะเรียก
สิ่งที่เราทำได้ดีที่สุดคือ ห้ามกระแทกฮารด์ดิสก์แรง
ไม่ว่ามันจะทำงานอยู่หรือไม่ก็ตาม
และเมื่อคุณจับมันก็ไม่ควรจับที่
PCB
เพราะไฟฟ้าสถิตย์ในตัวเราอาจวิ่งไปยังวงจรที่
PCB แล้วทำให้ IC เสียหายได้ และจุดนี้เองที่ร้านที่ทำให้เกิดร้านรับซ่อมฮาร์ดดิสก์
ซึ่งเขาเพียงแค่อาศัยการเปลี่ยนแผ่น
PCB ที่ประกบอยู่โดยการหารุ่นและยี่ห้อที่ตรงกันมาเปลี่ยน
ง่าย ๆ เท่านี้เอง


และการที่เราคิดว่าแผ่นดิสก์ภายในมีรอยก็น่าจะเปลี่ยนได้
ขอบอกเพื่อน ๆ ว่าเป็นไปไม่ได้เด็ดขาดที่จะเปิด
Cover หรือฝาครอบมันออกมาแล้วเอาแผ่นใหม่ใส่เข้าไป
เพราะบนแผ่นดิสก์ทุกแผ่นและทั้งสองด้านของแผ่นจะมีสัญญาณ
Servo เขียนอยู่ ซึ่งสัญญาณนี้จะถูกเขียนในลักษณะตัดขวางเหมือนกับการแบ่งเค้กกลม
ๆ ออกเป็นส่วน ๆ โดยที่สัญญาณนี้จะต้องตรงกันทุกแผ่นจะวางเยื้องกันไม่ได้เลย
เพราะเครื่องเขียนสัญญาณกำหนดให้ต้องตรงกัน
ซึ่งขอเปรียบเทียบกับล้อรถยนต์ที่ต้องมีจุ๊บเติมลม
ที่เราต้องเอาจุ๊บของล้อทุกล้อมาวางให้ตรงกันเพื่อที่จะบอกให้
PCB ได้รับทราบว่าจุดเริ่มต้นของดิสก์หรือ
Sector 0 หมุนไปอยู่ที่ใดบนแผ่นดิสก์
และสัญญาณนี้ไม่สามารถมองให้ได้ด้วยตาเปล่าต่อให้เอากล้องจุลทรรศมาส่องก็ไม่เห็น
การที่เราจะจับฮารด์ดิสก์ให้มีความปลอดภัยนั้นตัวเราต้องลงกราวนด์
นั่นคือเท้าเราต้องแตะพื้นให้ไฟฟ้าสถิตย์จากตัวเราไหลลงพื้นดิน
เพื่อน ๆ อาจนึกไม่ถึงว่ามันจะมีผลมากถึงขนาดว่าทำให้ฮารด์ดิสก์เสีย
แต่เราอย่าลืมว่ากิจกรรมในชีวิตประจำวันของเราไปจับโลหะอะไรมาบ้างแล้วมันถ่ายเทประจุให้เราเท่าไหร่,จะมีผลต่อสิ่งอื่น
ๆ ไหมเราไม่รู้เหมือนกับรถบรรทุกขนถ่ายน้ำมัน
ที่เวลาวิ่งต้องเอาโซ่ลากไปตามถนนเพื่อระบายประจุ
หรือทำให้เกิดความต่างศักย์น้อยที่สุด
หรือเป็นศูนย์เพราะมันอันตรายมากที่เวลาเอาหัวจ่ายน้ำมันรถไปต่อกับวาลว์รับน้ำมัน
ซึ่งอาจเกิดประจุไฟ้ฟ้าวิ่งจากศักย์สูงไปศักย์ต่ำแล้วเป็นประกายไฟ
เพราะเวลารถวิ่งไปชนอากาศที่มีประจุลอยอยู่มันก็จะสะสมไปเรื่อย



อยากบอกว่าเสียดายมาก ๆ หากฮารด์ดิสก์เกิด
Bad Sector ขึ้นมาแต่ก็ต้องทำใจยอมรับ
เนื่องจากมันแก้ไขไม่ได้จริง ๆ
ต่อให้เอาเครื่องมือในโรงงานมากองต่อหน้าแล้วให้อยู่ใน
Clean Room ก็ทำไม่ได้ (ยกเว้นนั่งรื้อชิ้นส่วนออกหมดแล้วเอาแผ่นดิสก์ใหม่มาใส่เพราะเครื่องเขียน
Servo อยู่ในนั้น) แต่การที่เราจะเลี่ยงไม่ใช้
พ.ท.ที่เสียอยู่ในตอนอื่น ๆ ของข้อมูลนั้นก็ทำได้เช่นแบ่งพาร์ทิชั่นออกเป็นส่วน
ๆ โดยให้พาร์ทิชันที่เราไม่ต้องการครอบตรงจุดเสียไว้
หรือถ้าหากเราต้องการกู้ข้อมูลที่มีความสำคัญมาก
ๆ ก็ต้องใช้ Software ที่ออกแบบมาโดยเฉพาะ
เช่น Spinrite หากถามว่าทำไม บ.ผู้ผลิตไม่ออกแบบให้ฮาร์ดดิสก์แก้ไขข้อมูลให้ถูกต้องเสียก่อน
หรือให้มันสามารถกู้ข้อมูลได้เล่า
คำตอบก็เป็นเพราะมันทำให้ต้นทุนการผลิตสูงขึ้น,
และทำให้ระยะเวลาที่ใช้ในการผลิตหรือกว่าที่จะออกจำหน่ายได้ช้าออกไปอีก
,ทำให้ความเร็วในการทำงานลดลงด้วย