ARDUINO and PROTOCAL ==>> MAY_2018 and Update March '19

HOMEWORK


3.MODBUS _RTU
4.CAN BUS + BackHoff  (ทำไมต้องใช้ Back_off )
5.SEA CONTROLLER / EthecaT คืออะไร
6.หาความรู้เรื่อง Relay ภายใน  เเละการจองตัวเเปรภายในเหมือนของ Super Sel ?
7.How WIFI communication sent data package?
8.How RF communication sent data package and delete message?   active or passive ?
9.การใช้คำสั้ง GO TO  ( จะทำงานอีกรอบก่อนออก program )
10.วงจร  Charge and Battery Monitoring ?
11.การออกเเบบ วงจร pulse / LMS  ?
12.การประยุกต์ใช้ Fast Furier  Transform ?
13.Arduino and Linux ?
14.Arduino and Data Visualization with python.



15. PCI Card , PCI bus ของ computer กับ controller ต่างกันอย่างไร ?คือ อะไร BUS ของข้อมูลคืออะไร ? double bus ของ arduino จากการทำงาน 8 bits (1 words) เป็น (2 words ) ทำงานอย่างไร ?

16.State Machine ( 1 ปุ่มทำงานหลาย Functions อย่างไร ) ? and Change input  ( + - )อย่างไร ?
17.Image Assistant and Histogram in LabView ( Photo analysis  lab )
18.Program Mod-Scan how to working?
19.การใช้เงื่อนไข not   == continue, break, goto, mills, ไฟดับเเล้วกลับมาอย่างไร ?
20.ปุ่มตาม State Machine อย่างไร
21.เเก้ Debound อย่างไร     ตราบเท่าที่กด ตราบเท่าที่ยังไม่กด
22.PWM ==> Furies Transform ( FFT )
23.PWM กับการควบคุม Motor how?
24.Half duplex / Full duplex
25.16 MHz ==> 228 MHz  หมายถึงอะไร   crystal oscillator ทำงานอย่างไร Voltage a regulator ?
26.ATmega 16U2 for convert USB ==> Microcontroller
27.ICSP = Bootloader = เกี่ยวกับการ register  port ABC  or not ?
28.Arduino networking and Camera networking ?
29.bit and permutation หรือ  ความน่าจะเป็นไปได้ == IP4 มี 4 byte 255.255.255.255 ( one byte with 8 bits total have 32 bits  2 pow 32 is all ip4 in the world )  and CPU can see  max 4 GB of rams 2''32 / (1024*1024*1024 ) = 4GB of ram

30.การ Over flow เขียนข้อมูลใน Ram คืออะไร ?
31.การเก็บ int ( UNO ) ด้วยวิธี 2  complement  = 2 ยกกำลัง 16 - 1  ( -1 เพราะเอาไปบอกว่าเป็นค่าบวกหรือลบ  ในความเป็นจริงเราใส่ค่าลบตรงๆไม่ได้ )  การทำ compliment คือการกลับ bit ด้วยคำสั้ง not เเล้ว บวกด้วย 1 == การทำ 1 complement

32.Arduino in Linkedin ( Seagate )
33.Can High ( 2.5V - 3.5V )  and Can Low ( 2.5 -0 V )  in BUD   คืออะไร ? ( สถานะของสายสัญญาณ ใน Can bus ) ?

34.What is array structure and object ?
35.Control struction in Switch case , While , IF , For  ,for while  ต่างกันอย่างไร

36.การทำเกรดเเบบบรรทัดเดียว (python) / short if
37.Ternary  operaoor คืออะไร (การใช้ if เเบบย่อ อ.ประเสรฺิจ ในภาษา C )

38.Good web site AIMAGIN ( พระนครเหนือ)
39.PWM = หลายสัญญาณในเส้นเดียว   PWM คืออะไร ?
40.ไอยรา cluster SUT
41Firmata
42.Impledance คืออะไร  dielectric คืออะไร  50 โอม , 75 โอม  มีความสำคัญอย่างไร ?
43.LSB : Least significant bit / MSB: Most significant bit
44.Hexadecimal : HEX  0 ,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
45.RAM is random access memory  (สุ่มเอาเหรอ )
46.Arithmetic and Logic algorithm คือหลักการในการ Software ?
47. pointer คืออะไร   การเเสดงตำเเหน่งของตัวเเปร  ( int  *n ;    int  i , i = 10;    n =&i ;



อธิบายส่วนประกอบของ Arduino UNO ได้ดีมาก
Digitals IO  for ( LEDs , Switches )
Analog IO ( Resistive sensor data / วงจรเเบ่งเเรงดันเอา Volte มากระทำการทาง logic)
Serial  Connection ( Sensors , GPS , )
Arduino มีสาม port ( A,B,C )  can change function in Register / PMW generate frequency  write ( 0-255 per duty cycle ) but Analog read รับค่าเป็น Volte
Opto circuit ทำไมต้องเป็นการ Control กระเเส  เมื่อนำมาใช้ในอุตสาหกรรม
การใช้งานโมดูลอ่าน RFID กับ Arduino แบบง่ายๆ
ติดตั้ง Arduino IDE on Visual code
Arduino online in web ( Thinker cad ) === witayachai@gmail.com
http://www.circuitbasics.com/basics-uart-communication/

ตู้ปลา ม.มหานคร
ตู้ปลาฝรั่ง
PIC and Robot P'anirakwith python




กำหนด input เเละกำหนด output  อ่านค่าสถานะการกด ปุ่มกดเเล้วไปเก็บในตัวเเปร  count ทำการเปรียบเทียบ count  1- 3  เเละ reset ค่าเป็นค่าเริ่มต้น  เอา permutation เเต่ละครั้งไปกำหนดเงื่อนไข
กำหนดปุ่มเดียวเเต่หลากหลาย Function  == ออกที่จอเดียวกัน  (ถ้าเลือก menu ย่อย +ใส่ค่าเข้าไป + - )


const int buttonPin = 2;
const int ledPin = 13;
int buttonState = 0;
int count = 0;
void setup()
{
    pinMode(ledPin, OUTPUT);
    pinMode(buttonPin, INPUT);
}

void loop()
{
    buttonState = digitalRead(buttonPin);
    if (buttonState == HIGH)
    {
        count++;
    }



    if (count = 1)
    {
        digitalWrite(ledPin, HIGH);
        delay(1000);
        digitalWrite(ledPin, LOW);
    }


    if (count = 2)
    {
        digitalWrite(ledPin, HIGH);
        delay(1000);
        digitalWrite(ledPin, LOW);
        delay(200);
        digitalWrite(ledPin, HIGH);
        delay(1000);
        digitalWrite(ledPin, LOW);
    }


    if (count = 3)
    {
        digitalWrite(ledPin, HIGH);
        delay(1000);
        digitalWrite(ledPin, LOW);
        delay(200);
        digitalWrite(ledPin, HIGH);
        delay(1000);
        digitalWrite(ledPin, LOW);
        delay(200);
        digitalWrite(ledPin, HIGH);
        delay(1000);
        digitalWrite(ledPin, LOW);
    }



    if (count == 3)
    {
        count = 0;
    }
}


  1. ปุม Microwave
  2. เครื่องซักผ้า
  3. Remote infared  TV
  4. กะทะ Microwave
  5. อุปกรณ์พวกนี้ทำงานอย่างไร



( สุดยอด GUI SW for Embeded product of MIT)










อธิบายการทำงานของ RFID ดีมากของ อียิบ
อธิบายการต่อวงจรของอุปกรณ์ดี
เเก้ Debound อย่างไร
ความรู้พื้นฐานการทำงานของ Swith / Dip switch / PCB switch





เทคนิค Coding  การกดปุ่ม


ตราบเท่าที่ยังกดอยู่

While(digitalRead(BTN_PIN) == 1 ) {} >> รอการกด อันนี้เป็น Pull_up เมื่อกดเเล้วไฟลง Ground เเล้วสถานะจะเปลี่ยนไปเป็น 0 ( จาก 1 เป็น 0 )

While(digitalRead(BTN_PIN) ==0 ) คือยังกดอยู่
delay(1000);
====> เงื่อนไขให้ทำอะไร


Delay program ต้องหยุดรอจนกว่า delay จะทำเสร็จนะ
ข้อเเตกต่างของการประกาศตัวเเปร
# define LED1     9
# define LED2     7
int  LED1 =  9 ;    ( เเบบนี้เสียตัวเเปร 2 byte  เเบบ define ไม่เสีย )



Arduino  UNO is 8 bit AVR  เป็น Micro Controller ขนาดเล็ก ( UNO =ATmega 328P  , MEGA2560 = ATmega 2560),ทำหน้าที่ประมวลผลตามชุดคำสั่งที่ใส่เข้าไป โครงสร้างภายนอกเป็น IC ( Integrated Circuit ) เเต่ภายในเป็นวงจรรวมขนาดใหญ่ เช่น หน่วยคำนวนทาง Mathematics + Logic + Data bus + Address bus  + Serial port + Parallel Port +Register + ROM +RAM +Counter + Clock Timer...
!!! Arduino IDE compiler is HEX file.















May 19 2018



การประยุกต์ใช้สัญญาณ pulse

  • Tx (เครื่องวัด) จะถูกต่อเข้าที่ Rx (คอม) เพื่อส่งข้อมูลจากเครื่องวัดไปยังตัวรับของคอมพิวเตอร์
  • Rx (เครื่องวัด) จะถูกต่อเข้าที่ Tx (คอม) เพื่อรับข้อมูลที่ถูกส่งมาจากคอมพิวเตอร์
  • GND (เครื่องวัด) จะถูกต่อเข้าที่ GND (คอม) เพื่อเทียบสัญญาณแรงดัน 0V
สำหรับการรับ/ส่งข้อมูลดิจิตอลแบบ RS485 นั้น จะส่งข้อมูลโดยใช้สายไฟเพียงแค่ 2 เส้นคือ A และ B เป็นตัวบอกค่ารหัสดิจิตอล(Digital code) โดยใช้ความแตกต่างของแรงดันไฟฟ้าระหว่างขั้ว A และ B เป็นตัวบอกดังนี้  ( Half duplex , DB9 , 256 Communication  , 1 km )
  • เมื่อ Va - Vb ได้แรงดันไฟฟ้าน้อยกว่า -200 mV คือสัญญาณดิจิตอลเป็น 1
  • เมื่อ Va - Vb ได้แรงดันไฟฟ้ามากกว่า +200 mV คือสัญญาณดิจิตอลเป็น 0
  • MOTOR AND CONTROL LINK (Google DRIVE)

  • สาย Cross มีหน้าที่อย่างไร ? ( ดึงข้อมูลจาก com port ในระยะใกล้เเบบ 1 ต่อ 1  ถ้าเป็นเเบบไกลๆต้องใช้ network  swithcing )
  • Can High ( 2.5V - 3.5V )  and Can Low ( 2.5 -0 V )  in BUD   คืออะไร ? ( สถานะของสายสัญญาณใน Can bus )


Witaya > Document > Arduino





Basic Arduino Komdet D1
int led = 13 ;
Install sublime3  + copy  then view control  + past  and Install stino package

การติดตั้งเเละจำลองการใช้งาน Program Proteus8
อธิบายการใช้งาน Proteus ดีดี ( 40 mins )
how to make a DC variable power supply circuit with Proteus
Arduino simulation by Proteus 8 ตอนที่ 2 (ไฟวิ่งเรียงแถว)

Basic Arduino Komdet D2 ( Input /Output)
Digital Write / Read
Analog Write / AnalogRead
Digital to Analog = > PWM (0 -255 )
ICSP on Arduino is connecting for bootloader
Input Pull up คืออะไร ?
Input Pull down คืออะไร ?
NC ืnormal close ยังไม่กดสถานะ =1
buzz = 1 ต่อวงจรอย่างไร
AnalogRead in Arduino เเปลงไฟ 0-5 volt เป็น 10 bit = 0 -1023   Show value is  Serial.println(A0)
เอาค่า Analog apply to control LED
PWM ทำหน้าที่เหมือน switch เปิดเเละปิดด้วยความเร็วสูง  ใช้ในงานที่ต้องการความถี่สูง ที่วงจร Relay ปกติทำไม่ได้


/*
Analog input, analog output, serial output
*/
int analogInPin = A0; // Analog input pin that the potentiometer is attached to
int analogOutPin = 9; // Analog output pin that the LED is attached to
void setup()
{
    pinMode(11, OUTPUT);
    Serial.begin(9600);
}

void loop()
{
    Serial.println(analogRead(A0));
    // analogWrite (11,analogRead(A0));
    analogWrite(11, map(analogRead(A0), 0, 1023, 0, 255));
    // use or not use map look like the same
    delay(200);
}


การเเสดงค่าออก port analog must use Serial.begin(9600);
analogWrite( pin ,value )
analogWrite(11,map (val ,0 ,1023 ,0 ,255 );


สถานะของ input ( switch) ต้องไม่ใช้ flaot (ทศนิยม) ต้องเป็น 0 /5 volt เท่านั้น ไม่อย่างนั้นสัญญาณที่ได้จะขึ้นๆลงๆ  เราต้องต่อ pull_up ( ขา digiital ต่อเข้ากับไฟบวกก่อนเเล้ว logic = 1 ต่อเข้าหลอดสว่างทันทีกด switch ไฟลง ground  and logic change to = 0)  กับ pull_down (ขา digital นั้นๆต่อเข้ากับไฟลบ เท่านั้น ... ถ้าต้องการกลับทิศทาง ใช้ !val   ( เมื่อ val คือตัวเเปร ) , input pull up and input pull down  คือมีการต่อวงจรภายในอยู่เเล้วเลือกใช้โดยการดูจาก เเต่ละ board ได้เลย







A0-A5 on UNO can use for digital write / read also
https://www.arduino.cc/en/Reference/PortManipulation
Normal close switch and Normal sensor
IR sensor also digital / ADC type  and How IR sensor do induction on Magnetic field.
ระบบรดน้ำเเละ PUMP ดีมากๆๆ (เเบบรวมมเลย)
การตั้งใช้งาน Pressure switch สวิตช์แรงดัน








...............................................................................................................................................
BIT BYTE AND SECRET NUMBER
ฐาน 2 = 0 ,1
ฐาน 8 = 0 ,1,2,3,4,5,6,7
ฐาน 10 = 0 ,1,2,3,4,5,6,7 ,8 ,9
16 --> 0 1 2 3 4 5 6 7 8 9 A B  C D F

int  a = 0x101 ในฐาน 16 คือ  = 275  ในฐานสิบ ,  0x65   = 101


2048     1024     512   256   128    64    32    16    8    4     2   1
ลบตัวตั้งได้ =1  ถ้าลบไม่ได้ = 0


การเเปลงกลับคือบวกในหลักที่เป็นหนึ่ง
การเเปลงจากเลขฐาน 10 => 8  ต้องทำฐาน 10 เป็นฐาน 2 ก่อน เเล้ว เเบ่งเป็น 3 ชุดสำหรับฐาน 8  เเบ่งฐาน 2 เป็น 4 กลุ่มสำหรับฐาน 16   เเล้วเเทนเเต่ละตำเเหน่งกลับ    เเต่ถ้าเเปลงกลับเป็นฐาน 10 ต้องคืนค่าฐาน 2 ก่อนเเล้วคูณกลับเเล้วเอาค่ามาบวกกัน



http://www.asciitable.com/

Bits / Byte Operation 

0 &อะไร =  0
1 เเอนอะไร ได้อะไร

0 & 0 = 0
1 &0 = 0
0 &1 = 0
1 &1 = 1

1 ออ อะไรได้ 1
0 ออ อะไร ได้อะไร
1 I 1 =1
0 I 1 = 1
1 I 0 = 1
0 I 0 = 0

XOR = เหมือนกันเป็น 0 ต่างกันเป็น 1
1 1 = 0
0 0 = 0
1 0 = 1
0 1 = 1

bitshift left (<<), bitshift right (>>)
การขยับ bit ทีละหนึ่งไปทางซ้ายเท่ากับการคูณด้วย 2
การขยับ bit ทีละหนึ่งไปทางขวาเท่ากับการหารด้วย 2 เเล้วตัดเศษทิ้ง
0xF20000 => 0x0000F2 (ขยับมา  4  8 16 32  คำตอบคือ 32 )

( r = 16 =0x10 , g =15 =F ,b = 8 =8)
 int c = ( r << 32 ) | ( g << 8 ) | b ;
r     10 00 00  (ขยับ  32 เเล้ว เติม 4 ศูนย์ )
g     00 0F 00  (เติม 2 ศูนย์ )
b     00 00 08
       10 0 F 08
0 อออะไรได้อะไร  หนึ่งอออะไรได้หนึ่ง


อาจารย์ จาก web ซ่อม MCU
https://www.youtube.com/channel/UCWx0GWGbXjSsdAVj-HLVD5A/videos
https://github.com/adminho/learning-it/

ใน Arduino  have bit and bite operrance ( See how to apply )
การเก็บ int ( UNO ) ด้วยวิธี 2  complement  = 2 ยกกำลัง 16 - 1  ( -1 เพราะเอาไปบอกว่าเป็นค่าบวกหรือลบ  ในความเป็นจริงเราใส่ค่าลบตรงๆไม่ได้ )
ทำไม CPU  32 bits ใส่ ram ได้ 4 Gbyte เท่านั้น
เลข IP have  4 byte = 255.255.255.255  เลข ip  ทั่วโลกไม่เกิน 2 ยกกำลัง 32
unsign int can use 2 power 16 but normal int must -1
bit and  permutation  หรือ  ความน่าจะเป็นไปได้
2 byte is word  < 4 byte is double word

การ Over flow เขียนข้อมูลใน Ram คืออะไร ?
ทำไม  UNO 8 bits เเต่มี RAM เป็น Kbyte ทำไมไม่เป็น 256 ( 2 ยกกำลัง 8 )  เพราะ  UNO ทำงานเเบบ double bus คือทำงาน 2 รอบเเต่การเข้าถึงข้อมูลก็ทำทีละ 8  bits อยู่ดี  (ทำไม  Port A / B / C on UNO เก็บข้อมูลที่ละ 8 bits ) = เป็นเหตุผลในการเเบ่ง Port A , B , C
การทำ Pule up and Pule down ทำให้ บอกสถานะ 0 เเละ 1 ของสัญญาณได้ ถ้าไม่ใส่ก็จะ on on off สลับกันไปมานะครับ

Control Structure =Comdet

  • Array is กลุ่มของตัวเเปร
  • int leds[] = { 2 ,3,4,5,6,7}  การเข้าถึง array เเบบลำดับ leds[0]  ,leds[2]  การใช้ Array สามารถเปลี่ยนค่าตัวเเปรได้ leds[0] = 7 หมายถึงการเปลี่ยนตำเเหน่งเเรก จาก 2 เป็น 7
  • led2[10]; การจอง array เเบบยังไม่กำหนดค่า initialize
  • การใช้ array มักใช้ร่วมกันกับ for    ==>> for ( int i=0 ,i<10 , i++ ) {    conditions;)  การกลับด้าน ทำได้ไังนี้คือ  for ( int i=9 ,i >= 0  , i -- ) {    conditions;)  
  • การใช้ for  ใช้เมื่อรู้จำนวน  loop ที่เเน่นอน    ใช้คู่กับ continoue / break

void setup()
{
    pinMode(13, OUTPUT);
}

void loop()
{
    digitalWrite(13,(analogRead(A1) > 511)? HIGH:LOW);
}




Arduino with Time and Counter

  • delayMicroseconds()
  • Millis = เวลาปัจจุบัน
  • Servo_on  = millis + 2000     เวลาในอณาคตที่ให้ทำต่อไป
  • Intersupption ควรใช้เป็นสถานะ
  • Pin ทุก pin ไม่สามารถทำเป็น interrupptupt ได้ เเต่สามารถกำหนดทีหนังได้




Knowledge I2C and Microcontroller
1.http://www.thaimicrotron.com/CCS-628/Referrence/I2CBUS.htm
2.I2C Aimagin ( I2C ) ดีมากๆๆ     UART    VERY GOOD AIMAGIN
3.Port communication: Code mobiles
4.Serial Communication  ( SPI ,UART ไม่มีการ clock เเค่ทำ  broad rate ให้ตรงกันก็ พอ เช่น 9600  , USART ต้องมีการเพิ่มค่า clock, SERIAL PORT,I2C,SPI, RS232, RS485)




                                             Full Duplex for Arduino networking



 Full duplex คืออะไร ( มักใช้กับ UART ส่งข้อมูลทั้งรับเเละส่งในเวลาเดียวกันได้ ๗
 Half duplex คืออะไร , Clock ไม่มีใน RS 232  เนื่องจากมีการกำหนด Synchronous Transmission   คือเวลาต้องตรงกันทำให้ส่งเเละรับพร้อมกันไม่ได้







I2C มีความเร็วช้ากว่า SPI เเต่ I2C ต่อเเค่ 2 เส้น เชื่อม Pull up  กับตัวต้านทาน 1K15 ทั้ง SDA (ขา data )  เเละ SCL (ขา clock )  ,ความเร็วไม่สูงมาก  ข้อดีคือลดการ wiring พวก LCD เพราะไม่งั้นจะต้องต่อสายเยอะมาก เเต่ก็ต่องเเลกกับความเร็วที่ลดลงครับ


SPI  ( MISO : คล้าย TX ) , MOSI , Clock  เเละช่องทางการสื่อสารกับ Slave ( มีทั้งหมด  4 สายเเต่ข้อดีคือเร็วกว่า SPI ถ้าต่อกันมากๆๆ   อุปกรณ์ที่ใช้ SPI เช่น  SD CARD ซึ่งต้องการความเร็วสูงในการรับส่งข้อมูล)   ==>>  Computer Networking




6.เเบบ CAN   , Beck off ละ ต่างกันอย่างไร ?
7.  I2C  อธิบายลึกมาก อ.ศุภโชค อุปาลี  Link
8.  PID control
9.  YOU Tube  PID  FUZZY  Coading with C==>>  อ. Dr.ศุภโชค อุปาลี
10. Brussels DC Motor 
11.DMA คือ อะไร
12.UDEMY DMA
13.Pulling / Interrupt / DMA ต่างกันอย่างไร   ( daisy change / gran signal )
14.ความรู้เรื่อง BUS ภาษาไทย  ช่วยให้เข้าใจช่องทางเดินของข้อมูล
15. PWM   ADC for arduino   อธิบายได้ดี  ( IoX shop )   AIimagin ( KMUNTB )    Part # 1
16.GOOD FPGA + I2C + ARDUINO LINK ( SPAIN)


  • Booth loader is meaning ?
  • What is a function of flash MEMORY
  • How Arduino communicate with  P=PID I2C, SPI  ( การต่อหรือคุยกับอุปกรณ์ภายนอก )
  • How Arduino link with   TCP/IP and MOD BUS

..........................................................................................................................................................


ตัวเเปรที่อยู่ใน วงเล็บเขาจะใส่ int เพราะคือการประกาศตัวเเปร
Machine design::

RESET BUTTON  ( RETURN STATE MACHINE )
EMERGENCY BUTTON
AI TROUBLE
MIRROR SCREEN
ALARM
LIGHT CURTAIN




การทดลอง Pull up and pull down ( July 29 ==12.14 )







TIP : PinMode ( Pushbutton ,INPUT_PULLUP )  การกำหนดใน IDE เเบบไม่ต้องใส่ตัวต้านทาน  ขา input จะเป็นไฟบวกก่อนเสมอ  กด switch ก็จะเป็น ( 1==> 0 นั้นเอง ) 



การกลับค่า LED / กดติด กดดับ



On off with for loop and on off with array












Analog is voltage but PWM เป็นการวงจรพัลย์กรองความถี่ระดับที่หนึ่งผ่าน IC  LM358
ADC  = Analog to digital convert  เป็นวงจรเเปลงความดัน  รับเเรงดันอ้างอิงได้ที่ 5-7 V  หรือมากกว่าได้

*** int value = map (analogRead (VR_PIN ,0 ,1025 ,0 ,255 );
MBED    Krisada



BUS หมายถึง ( ส่งข้อมูลออกพร้อมกันหลายๆเส้น)

การเเปลง protocal from CPU = PCI  express = > Micro controller )
PCI bits = ความเร็วในการส่งถ่าย32 bits ข้อมูล  132Mb/sec
PCI bits = ความเร็วในการส่งถ่าย 64  bitsข้อมูล  264 Mb/sec
PCI 2.0 รองรับ PCI ได้ 5 slot + BUS master ที่ควบคุมการถ่ายโอนข้อมูลอุปกรณ์ต่อพ่วงกับหน่วยความจำโดยตรง board ทำงานที่วงจรภายใน 75 watt เเละ option power ภายนอก 150  watt มี 12 v  3 ตัว


PCI express 2.0 ( 2007)  เอามาเเทน AGP เเละ PCI เเบบเก่า  มี  5 ระดับ ...ความเร็วขั้นต่ำ 250 Mb/sec มี 5 ระดับ 1 , 2,4,8 เเละเป็นชนิดเเรกที่เป็น Full duplex   ทำให้มีความเร็ว 2 เท่าที่ 500 Mb/sec เป็นอย่างต่ำ   ระดับ 8 => 8 Gbyte/sec
Power สูงทำงานได้หลาย  board
Bandwidth  กว้างเเคบ / จำนวนข้อมูลในการถ่ายโอนข้อมูล
AGP ไม่ share  bandwidth กับใคร
PCI  express ใช้ร่วมกับหลายอุปกรณ์ ถ่ายเทข้อมูลได้มากๆๆ มี Master bus + ทั้ง BUS ที่ทำงานเร็วคุยกับ CPU โดยตรง เเละตัวที่ความเร็วช้าทำงานผ่าน Chipset

https://www.youtube.com/watch?v=WLHH2WCLGvY
https://www.youtube.com/watch?v=RZX6iKOFwsA
https://www.youtube.com/user/zolkorn/playlists






BUS หมายถึง ช่องทางการขนถ่ายข้อมูลจากอุปกรณ์หนึ่งไปยังอุปกรณ์หนึ่งของระบบคอมพิวเตอร์ เพราะการทำงานของระบบคอมพิวเตอร์ CPU จะต้องอ่านเอาคำสั่งหรือโปรแกรมจากหน่วยความจำ มาตีความและทำตามคำสั่งนั้นๆ ซึ่งในบางครั้งจะต้องอ่านข้อมูลจากอุปกรณ์อื่นๆ เพื่อใช้ประกอบในการทำงาน หรือใช้ในการประมวลผลด้วยผลลัพธ์ของการประมวลผล ก็ต้องส่งไปแสดงผลที่ยังจอภาพ หรือเครื่องพิมพ์หรืออุปกรณ์อื่นๆ ระบบ BUS ทางกายภาพ คือสายทองแดงที่วางตัวอยู่บนแผงวงจรของเครื่องคอมพิวเตอร์ ที่เชื่อมโยงกับอุปกรณ์ต่างๆ ความกว้างของระบบบัส จะนับขนาดข้อมูลที่วิ่งอยู่โดยจะมีหน่วยเป็น บิต (BIT)

บนเครื่องไมโครคอมพิวเตอร์ บัสจะมีความกว้างหลายขนาด ขึ้นอยู่กับรุ่นของเครื่องพีซี เช่น บัสขนาด 8 บิต 16 บิต และ 32 บิต  64 bit โดยปัจจุบันจะกว้าง 16 บิต บัสยิ่งกว้างจะทำให้การส่งถ่ายข้อมูลจะทำได้ครั้งละมากๆ จะมีผลทำให้คอมพิวเตอร์เครื่องนั้นทำงานได้เร็วตามไปด้วย ระบบบัส ขนาด 16 บิต ก็คือระบบการส่งถ่ายข้อมูลพร้อมๆกันในคราวเดียวกันได้ถึง 16 บิต และบัส 32 บิต ย่อมเร็วกว่าบัส 16 บิต ในระบบบัสที่ส่งข้อมูลได้จำนวนเท่าๆกัน นั้นก็ยังมีบางอย่างที่ทำให้การส่งข้อมูลมีความแตกต่างกัน ดังที่เราจะเห็นว่าเครื่องพีซีของเราในปัจจุบันจะมีระบบบัสอยู่หลายขนาด เช่น ISA, EISA, MCA, VLPCI เป็นต้น ทั้ง ISA, PCI, AGP, VLPCI ล้วนแต่เป็น CARD เพิ่มขยาย (EXPANSION CARD) ซึ่งนำมาต่อกับระบบบัสเพิ่มขยาย (EXPANSION BUS) ที่จะช่วยเพิ่มประสิทธิภาพ และช่วยเพิ่มขีดความสามารถให้กับคอมพิวเตอร์ระบบบัสเพิ่มขยายนั้น จะช่วยให้เราสามารถปรับแต่ง หรือเพิ่มขยายความสามารถของระบบ โดยผ่านทาง PLUG-IN BOARD หรือเรียกว่า เป็น CARD เพิ่มขยาย EXPANSION CARD เช่นเมื่อต้องการให้เครื่อง COMPUTER มีเสียง อยากให้คอมพิวเตอร์เล่นเพลงได้ก็ต้องหาซื้อ SOUNDCARD และลำโพงมาต่อเพิ่ม โดยแค่นำมา PLUG ลงใน EXPANSION SLIT บน MAINBOARD และทำการ CONFIG ก็สามารถใช้งานได้ โดยไม่จำเป็นต้องเดินสายไฟ รื้อ MAINBOARD ให้ยุ่งยาก 

 ระบบบัสเพิ่มขยายนี้มีใช้มานานแล้ว โดยสมัยแรกๆที่ทำการลดขนาดเมนเฟรม เป็น MINICOMPUTER บริษัท DIGITAL EQUIPMENT CORPORATION หรือที่รู้จักกันในนาม DEC ได้วางตลาด MINICOMPUTER ลักษณะ BUS-ORIENTED DESIGN ซึ่งประกอบไปด้วย แผงวงจรย่อยๆบน BOARD นำมาประกอบรวมกัน ต่อมาเครื่องจักรที่ได้รับยกย่องว่าเป็น PC (PERSONAL COMPUTER) เครื่องแรกก็ได้ถือกำเนิดขึ้น เป็นผลงานของ ED ROBERTS โดยให้ชื่อว่า ALTAIR (อัลแตร์) ซึ่งลักษณะของเครื่องนี้ จะเป็นลักษณะ SINGLE BOARD MACHINE กล่าวคือมีเพียง BOARD เปล่าๆ ซึ่งมี SLOT เพิ่มขยายให้จำนวนหนึ่ง และตัว CPU เองรวมทั้งหน่วยความจำหลัก (MAIN MEMORY/RAM) ก็อยู่บน BOARD เพิ่มขยายที่นำมา PLUG บน SLOT นั้นๆนั่นเอง โดยระบบบัสที่ใช้เรียกว่า S-100 หรือ ALTAIR BUS (IEEE 696) ซึ่งก็ใช้เป็นมาตรฐานในวงการนี้มานานหลายปี แต่ก็ใช่ว่าเครื่องทุกๆเครื่องจะต้องใช้ ALTAIR BUS นี้ เพราะทาง APPLE เองก็ออกมาตรฐานของตัวเองขึ้นมา เรียกว่า APPLE BUS และทาง IBM เอง ก็ได้กำหนดมาตรฐาน PC BUS ขึ้นมาพร้อมๆกับการ IBM PC ต้นแบบ พื้นฐานระบบบัส (Bus) การทำงานของระบบคอมพิวเตอร์ ถ้าเปรียบเทียบกับระบบโครงสร้างร่างกายของมนุษย์เราน่าจะเปรียบเทียบได้ง่ายและเห็นภาพชัดเจน เพราะอย่างน้อยคนเราส่วนใหญ่คงจะพอรู้ระบบโครงสร้างการทำงานของร่างกายของเราเองอยู่บ้างไม่มากก็น้อยล่ะ ดังนั้นระบบการทำงานของบัสก็จะคล้ายกับเส้นเลือดในร่างกายของมนุษย์นั่นเอง สำหรับทำหน้าส่งถ่ายกระแสเลือดไปหล่อเลี้ยงส่วนต่างๆของร่างกาย ซึ่งกระแสเลือดในระบบคอมพิวเตอร์ก็คือข้อมูล (Data) นั่นเอง บัส คือ ทางเดิน หรือ ช่องทางระหว่างอุปกรณ์ต่างๆที่ใช้ในการติดต่อสื่อสารภายในคอมพิวเตอร์ 
.....................................................................................................................................................

  • INTERBUS ของพี่ NUTI มีปัญหาอย่างไร ( สื่อสารกันไม่ได้  ระหว่างอุปกรณ์ / มองไม่เป็นกัน  , 
  • ระบบ Network  ของ โอเล่มี  Interface and label  port ที่มีการติดต่อสื่อสารอย่างสมบูรณ์ต้องมี protocol เเบบ up / up  == up / down is mean no machine connection   
  • 10 -11 Feb High Downtime cause virus attach Window_XP ( Window loss operation and File operation missing )
  • Link Host  ( Interbus UDP ) , Skynet ( Pi / VRC)  /Unload ( FTP )


....................................................................................................................................................
เฉพาะตามวัตถุประสงค์การใช้งานมีตัวอย่างดังนี้  ( BUS ภายนอก + BUS ภายใน computer )
 1. Processor Bus ...2.System Bus......3. Front Side or Gunning Transceiver Logic plus (GTL+) Bus......4. Main Memory Bus ....5. Host Bus...... 6. Local Bus .......7. Internal Bus..... 8. External Bus.....
 ส่วนประกอบของ System Bus มีดังนี้ 1. Address Bus 2. Data Bus 3. Control Bus [[59121]] 
  • แอดเดรสบัส (Address Bus) ใช้สำหรับ ถ่ายโอนต้นทาง (Source) และปลายทาง (Destination) ของการส่งข้อมูลบน Data Bus ชี้ตำแหน่งของหน่วยความจำที่ระบุโดย Micro_processor, Bus Masters หรือ Direct Memory Access (DMA) Controller 
  •  ดาต้าบัส (Data Bus) คือทางเดินสำหรับรับ-ส่งข้อมูลระหว่างโพรเซสเซอร์ (Processor) กับหน่วยความจำ (Memory) ...or หน่วยความจำกับอุปกรณ์อินพุทเอาท์พุท (I/O)  ( สาย SDA หรือเปล่านะ) !!!
  •  คอนโทรลบัส (Control Bus) คือทางเดินสำหรับสัญญาณควบคุมการทำงานของส่วนต่างๆระหว่างโพรเซสเซอร์ == >> หน่วยความจำและระหว่างโพรเซสเซอร์ ==>อุปกรณ์อินพุทเอาท์พุทตัวอย่างเช่น 
  1. W/R - Write/Read 
  2. IRQ - Interrupt Requests 
  3. BCLK - Bus Clock 
  4. DRQ - DMA Requests 
..................................................................................................................................................
การทำงานของระบบบัสในเครื่องพีซี ในระบบไมโครคอมพิวเตอร์ ( Arduino )  การส่งถ่ายข้อมูลส่วนมากจะเป็นระหว่างไมโครโปรเซสเซอร์กับอุปกรณ์ภายนอกทั้งหมด โดยผ่านบัส ในไมโครโพรเซสเซอร์จะมีบัสต่างๆ ดังนี้คือ
  •  บัสข้อมูล (DATA BUS) คือบัสที่ ไมโครโพรเซสเซอร์ (ซีพียู) ใช้เป็นเส้นทางผ่านในการควบคุมการส่งถ่ายข้อมูลจากตัวซีพียูไปยังอุปกรณ์ภายนอกหรือรับข้อมูลจากอุปกรณ์ภายนอก เพื่อทำการประมวลผลที่ซีพียู,
  • บัสรองรับข้อมูล (ADDRESS BUS) คือบัสที่ตัวซีพียู เลือกว่าจะส่งข้อมูลหรือรับข้อมูลจากอุปกรณ์ไหนไปที่ใดโดยจะต้องส่งสัญญาณเลือกออกมาทางแอดเดรสบัส 
  •  บัสควบคุม (CONTROL BUS) เป็นบัสที่รับสัญญาณการควบคุมจากตัวซีพียูโดยบัสควบคุม เพื่อบังคับว่าจะอ่านข้อมูลเข้ามา หรือจะส่งข้อมูลออกไป จากตัวซีพียู โดยระบบภายนอกจะตอบรับต่อสัญญาณควบคุมนั้น ไมโครโพรเซสเซอร์ไม่ใช่จะควบคุมการทำงานของบัสทั้งหมด 
..........................................................................................................................................................

PCI BUS

http://krucompranakon.blogspot.com/2015/07/bus.html
BECKHOFF DOWNLOAD ( Transfer data output อย่างไร   ฺbuffer , speed , address , loss package control , controll bus , controll speed , control frequency , controll clock ?
controll imaage ( How controll image , visual quality in FOF speed in FOF ) , Master or slave





PCI BUS ระบบ PCI หรือ PERIPHERAL COMPONENT INTERCONNECT ก็เป็น LOCAL BUS อีกแบบหนึ่งที่พัฒนาขึ้นโดย INTEL โดยที่แยกการควบคุมของระบบบัส กับ CPU ออกจากกัน และส่งข้อมูลผ่านกันทางวงจรเชื่อมซึ่งจะมี CHIPSET ที่คอยควบคุมการทำงานของระบบบัสต่างหาก โดยที่ CHIPSET ที่ควบคุมนี้จะเป็นลักษณะ PROCESSOR INDEPENDENT คือไม่ขึ้นกับตัว PROCESSOR ต่อมาเมื่อ INTEL เปิดตัว CPU ใน GENERATION ที่ # 5 ของตน INTEL PENTIUM ซึ่งเป็น CPU ขนาด 64 BIT ทาง INTEL ได้ทำการกำหนดมาตรฐาน ของ PCI เสียใหม่เป็น PCI 2.0 ซึ่ง PCI 2.0 นี้ก็จะมีความกว้างของเส้นทางข้อมูลถึง 64 BIT ซึ่งหากใช้กับ CARD 64 BIT แล้วก็จะสามารถให้อัตราเร็วในการส่งผ่านที่สูงสุดถึง 266 MByte/s จุดเด่นของ PCI ที่เห็นได้ชัดนอกเหนือไปจากที่กล่าวข้างต้นก็ยังมีเรื่องของ BUS MASTERING ซึ่ง PCI นั้นก็สามารถทำได้เช่นกันกับ EISA และ MCA แล้ว CHIPSET ที่ใช้เป็นตัวควบคุมการทำงาน ก็ยังสนับสนุนระบบ ISA และ EISA อีกด้วย ซึ่งก็ทำให้สามารถผลิต MAINBOARD ที่มีทั้ง SLOT ISA, EISA และ PCI รวมกันได้ นอกจากนั้นยังสนับสนุนระบบ PLUG-AND-PLAY ( PnP)    อีกด้วย

ปัญหาเกี่ยวกับ PCI Bus ปกติ PCI Bus จะมีอัตราความเร็วที่ไม่เท่ากับระบบบัส (System Bus) นั่นคือ บน System Board ที่มีความเร็วระบบบัส 60/66 MHz ระบบ PCI Bus ที่ทำงานภายใต้ System Board นี้ จะทำงานที่ 33 MHz (ซึ่งเป็นอัตราความเร็วมาตรฐานของ PCI) สำหรับ System Board ที่มีระบบบัสทำงานที่ 75 และ 83 MHz นั้น ระบบ PCI Bus จะมีอัตราความเร็วอยู่ที่ 37.5 MHz หรือ 41.6 MHz ตามลำดับ ดังนั้น อุปกรณ์ที่ถูกออกแบบให้ทำงานที่ความเร็ว 33 MHz ซึ่งเป็นความเร็วปกติของ PCI Bus อาจเกิดปัญหาในการทำงานได้ โดยเฉพาะ Video Card SCSI Card หรือ Network Card อย่างไรก็ดี Video Card อาจมีอุณหภูมิสูง มากกว่าปกติ แต่ยังสามารถทำงานได้

 AGP  ในกลางปี 1996 เมื่อ INTEL ได้ทำการเปิดตัว INTEL PENTIUM II ซึ่งพร้อมกันนั้นก็ได้ทำการเปิดตัวสถาปัตยกรรมที่ช่วยเพิ่มประสิทธิภาพของหน่วยแสดงผลด้วย นั่นก็คือ ACCELERATED GRAPHICS PORT หรือ AGP ซึ่งก็ได้เปิดตัว CHIPSET ที่สนับสนุนการทำงานนี้ด้วย คือ 440LX AGP นั้นจะมีการเชื่อมต่อกับ CHIPSET ของระบบแบบ POINT-TO-POINT ซึ่งจะช่วยให้การส่งผ่านข้อมูลระหว่าง CARD AGP กับ CHIPSET ของระบบได้เร็วขึ้น และยังมีเส้นทางเฉพาะสำหรับติดต่อกับหน่วยความจำหลักของระบบ เพื่อใช้ทำการ RENDER ภาพแบบ 3D ได้อย่างรวดเร็วอีกด้วย จากเดิม CARD แสดงผลแบบ PCI นั้นจะมีปัญหาเรื่องของหน่วยความจำเป็น CARD เพราะเมื่อต้องการใช้งานด้านการ RENDER ภาพ 3 มิติ ที่มีขนาดใหญ่มากๆ ก็จำเป็นต้องมีการใช้หน่วยความจำบน CARD นั้นมากๆเพื่อรองรับขนาดของพื้นผิว ที่เป็นองค์ประกอบสำคัญของงาน RENDER แน่นอนเมื่อหน่วยความจำมากๆ ราคาก็ยิ่งแพง ดังนั้นทาง INTEL จึงได้ทำการคิดคันสถาปัตยกรรมใหม่เพื่องานด้าน GRAPHICS นี้โดยเฉพาะ AGP จึงได้ถือกำเนิดขึ้นมา AGP นั้นจะมี MODE ในการ RENDER อยู่ 2 แบบ คือ LOCAL TEXTURING และ AGP TEXTURING โดยใช้ LOCAL TEXTURING นั้นจะทำการ COPY หน่วยความจำของระบบไปเก็บไว้ที่เฟรมบัฟเฟอร์ของ CARD  (ลดระยะทางการส่งถ่ายข้อมูล ) จากนั้นจะทำการประมวลผลโดยดึงข้อมูลจากเฟรมบัฟเฟอร์บน CARD นั้นอีกที ซึ่งวิธีการนี้ก็เป็นวิธีที่ใช้บนระบบ PCI ด้วย วิธีการนี้จะเพิ่มขนาดของหน่วยความจำเป็น CARD มาก AGP TEXTURING นั้นเป็นเทคนิคใหม่ที่ช่วยลดขนาดของหน่วยความจำ หรือเฟรมบัฟเฟอร์บน DISPLAY CARD ลงได้มาก เพราะสามารถใช้งานหน่วยความจำของระบบให้เป็นเฟรมบัฟเฟอร์ได้เลย โดยไม่ต้องดึงข้อมูลมาพักไว้ที่เฟรมบัฟเฟอร์ของ CARD ก่อน [[59130]]
 โดยปกติแล้ว AGP จะทำงานที่ความเร็ว 66 MHz ซึ่งแม้ว่าระบบจะใช้ FSB เป็น 100 MHz แต่มันก็ยังคงทำงานที่ความเร็ว 66 MHz ซึ่งใน MODE ปกติของมันก็จะมีความสามารถแทบจะเหมือนกับ PCI แบบ 66 MHz เลยโดยจะมีอัตราการส่งข้อมูลที่สูงถึง 266 M/s และนอกจากนี้ยังสามารถทำงานได้ทั้งขอบขาขึ้นและขอบขาลงของ 66 MHz จึงเท่ากับว่ามันทำงานที่ 133 MHz ซึ่งจะช่วยเพิ่มอัตราการส่งถ่ายข้อมูลขึ้นได้สูงถึง 532 M/s ซึ่งเรียก MODE นี้ว่า MODE 2X และ MODE ปกติว่า MODE 1X สำหรับความเร็วในการส่งถ่ายข้อมูลนั้น ก็ขึ้นกับชนิดของหน่วยความจำหลักด้วย ถ้าหน่วยความจำหลักเป็นชนิดที่เร็วก็จะยิ่งช่วยเพิ่มอัตราเร็วในการส่งถ่ายมากขึ้น ดังนี้ - EDO RAM หรือ SD RAM PC 66 ได้ 528 M/s - SD RAM PC 100 ได้ 800 M/s - DR RAM ได้ 1.4 G/s อีกสาเหตุหนึ่งที่ทำให้ระบบบัสแบบ AGP ทำได้ดีกว่า PCI ก็เพราะเป็น SLOT แบบเอกเทศไม่ต้องไปใช้ BANDWIDTH ร่วมกับใคร 

  • AGP เร็วกว่า PCI  Agp เอาข้อมูลมาทำเป็น buffer ในหน่วยความจำ + การติดต่อของ AGP + chipset ทำได้เร็วกว่า PCI มีระบบ buffer หน่วยความจำหลัก  เเละทำงานที่ขอบขาขึ้นเเละขาลง (2X or full duplex )
  • ช่วงเเรก PCI ช้ากว่า AGP เเละ  Board ที่ผลิตออกมาทำงานที่ 66 Mhz เเต่ของ PCI ทำงานที่ 33 Mhz
บางกรณีในการส่งถ่ายข้อมูลภายนอกด้วยกันเอง ผ่านบัสได้เป็นกรณีพิเศษเหมือนกัน เช่น การอ่านข้อมูลจากหน่วยความจำสำรองขนาดใหญ่ สามารถส่งผ่านมายังหน่วยความจำหลักได้โดยไม่ผ่านไมโครโพรเซสเซอร์เลย ก็โดยการใช้ขบวนการที่เรียกว่า ขบวนการ DMA (DIRECT MEMORY ACCESS) 

  • Peripheral port คืออะไร ? ( Port ขนาน )   ?
  • มีคุณมีบัติอย่างไร / BUS buffer / Dip switch  ?
  • GPU  คืออะไร ช่วยในการประมวลผลอย่างไร ?



PCI EXPRESS


PCI EXPRESS ปัจจุบันไม่ว่าจะเป็น Hard Drive, อุปกรณ์ต่อพ่วงต่างๆ, LAN card, Sound Card, USB และ Firmware จะส่งข้อมูลภายในระบบโดยผ่าน I/O เดียวกัน ซึ่งเป็นแบบนี้ตั้งแต่สมัยเครื่อง PC รุ่น 486 ซึ่ง PCI bus จะส่งถ่ายข้อมูลที่ 33 MHz และสูงสุดได้ที่ 133 MHz ซึ่งในปัจจุบัน Pentium 4 กับ Memory DDR นั้นส่งข้อมูลซึ่งกันและกันได้ที่ 2.1 GB/s โดยผ่าน Memory Bus อีกทั้ง AGP 8x สามารถส่งข้อมูลได้ถึง 2.1 GB/s ด้วยเช่นกัน โดยยังคงมี PCI ซึ่งเป็น Technology เก่าและเป็นตัวที่ทำให้เกิดการกระจุกตัวของข้อมูลเนื่องจากความเร็วที่ยังไปไม่ถึงไหน [[59131]] ณ ปัจจุบันได้มีแนวทางใหม่เพิ่มความเร็วสำหรับ PCI โดยมีการออกแบบ PCI-X (extended) และ PCI Express ขึ้นมาแต่ยังคงอาศัยหลักการและต้นแบบของ PCI ในสมัยปี 90 มาใช้ ซึ่งวิธีการทั้งสองได้ถูกแจ้งเกิดโดยกลุ่ม PIC-SIG (Peripheral component interconnect -specification) โดยแยก ให้ PCI-X นั้นสำหรับ Server และ PCI Express สำหรับ PC โดย ณ ที่นี้จะเน้นที่ PCI Express  ในวันที่ 17 เมษายน 2002 ได้มีการเปิดตัวมาตรฐาน PCI Express (3GIO หรือ 3rd Generation I/O โดยมี ISA เป็น 1st Generation และ PCI เป็น 2nd Generation) ซึ่งเป็น Technology PCI แบบใหม่ที่ยอมให้อุปกรณ์ภายใน PC นั้นเช่น CPU ติดต่อโดยตรงกับอุปกรณ์ที่ต้องการติดต่ออยู่ได้ทั้งหมดโดยแยกจากกันเป็นอิสระ และสามารถเชื่อมต่อกันได้เต็ม bandwidth ซึ่งเป็นแบบ Point to Point หรือติดต่อกันโดยไม่ต้องแบ่ง bandwidth กับอุปกรณ์ต่อพ่วงอื่นๆเลย [[59132]] [[59136]] ( เเล้วคุยกันพร้อมกันอย่างไร )

 รูป Slot เทียบระหว่างบน PCI แบบเดิม กับ ล่าง จะเป็นลักษณะ PROCESSOR INDEPENDENT คือไม่ขึ้นกับตัว PROCESSOR ต่อมาเมื่อ INTEL เปิดตัว CPU ใน GENERATION ที่ 5 ของตน INTEL PENTIUM ซึ่งเป็น CPU ขนาด 64 BIT ทาง INTEL ได้ทำการกำหนดมาตรฐาน ของ PCI เสียใหม่เป็น PCI 2.0 ซึ่ง PCI 2.0 นี้ก็จะมีความกว้างของเส้นทางข้อมูลถึง 64 BIT ซึ่งหากใช้กับ CARD 64 BIT แล้วก็จะสามารถให้อัตราเร็วในการส่งผ่านที่สูงสุดถึง 266 M/s จุดเด่นของ PCI ที่เห็นได้ชัดนอกเหนือไปจากที่กล่าวข้างต้นก็ยังมีเรื่องของ BUS MASTERING ซึ่ง PCI นั้นก็สามารถทำได้เช่นกันกับ EISA และ MCA แล้ว CHIPSET ที่ใช้เป็นตัวควบคุมการทำงาน ก็ยังสนับสนุนระบบ ISA และ EISA อีกด้วย ซึ่งก็ทำให้สามารถผลิต MAINBOARD ที่มีทั้ง SLOT ISA, EISA และ PCI รวมกันได้ นอกจากนั้นยังสนับสนุนระบบ PLUG-AND-PLAY อีกด้วย [[59129]]
โดย PCI Express ได้ออกมา 2 Version คือ X1 ซึ่งใช้กับอุปกรณ์ที่ไม่ต้องการ Bandwidth สูง หรือเพียง 400 MB/s และ X16 ที่ใช้กับ Graphic Card ที่ 4 GB/s ระบบ Bus ยังคงเป็นแบบอนุกรมซึ่งสามารถส่งและรับข้อมูลได้พร้อมกันในเวลาเดียวกัน คล้าย Technology Hypertransport ของ AMD โดยจะส่งข้อมูลอยู่ในรูแบบของ Packet เป็นแบบเดียวกับการทำงานของ OSI model ใน Layer 3 (network Layer) การส่งข้อมูลของ PCI Express จะส่งไปตาม Line หรือ Lane ซึ่งต่อตรงกับอุปกรณ์ที่กำลังติดต่อด้วย และ ค่าที่ระบุว่ามีกี่ Line หรือ Lane คือ ตัวเลขหลัง  X  โดย x1 = 1 Line, x4 = 4 Line, x8 = 8 Line และ x16 = 1 6 Line สำหรับความเร็วนั้นเนื่องจาก PCI Express จะส่งข้อมูลไปกลับได้พร้อมกัน จึงต้องคิดเป็น 2 เท่า ฉะนั้น เมื่อความเร็วถูกระบุที่ 1 GB/s สำหรับ 4x ความเร็วรวมจะอยู่ที่ 2 GB/s [[59134]]

 รูป Mainboard BTX ต้นแบบที่มีหลากหลาย Slot อยู่รวมกัน PCI Express พร้อมที่จะรองรับ Driver ของ PCI ที่ใช้ Software และ OS ที่มีอยู่ในปัจจุบัน อีกทั้งยังประหยัดพลังงานโดย PCI จะใช้แรงดันที่ 5 V แต่สำหรับ PCI Express ใช้เพียง 3.3 V ยังรวมการทำงานแบบ Hot-Pluggable (เสียบ Card โดยไม่ต้อง ปิดเครื่อง) ส่วนการทำงานในด้าน Graphic ระดับ High end นั้น PCI Express ได้ถูกออกแบบให้รองรับการใช้พลังงานที่สูงถึง 75 W ซึ่งจะแบ่งเป็นชนิด x1 จะใช้พลังงานตามการออกแบบอยู่ที่ 25W ในความเป็นจริงใช้เพียง 10W และที่เกินนั้นรองรับ PCI Express x8 slot ขณะที่ AGP เองรองรับได้ 25 W ถึง 42 W เท่านั้น ในส่วนของอุปกรณ์ที่ต่อพ่วงที่ต้องการต่อออกจาก PCI Express Slot นั้นจะใช้ Cable ได้ยาวถึง 5 เมตร PCI Express ที่มีความเร็วในการส่งข้อมูลต่างกันสามารถใช้งานด้วยกันได้ เนื่องจากการออกแบบที่ได้ถูกพิจารณาตั้งแต่แรกของ PCI Express สามารถที่จะใช้งานร่วมกันได้ เช่น ถ้ามี Card PCI Express ชนิด x8 ก็สามารถใช้ได้กับ Slot ที่มีความเร็วที่สูงกว่า คือ x16 แต่ยังคงวิ่งอยู่ที่ 4 เลนเหมือนเดิม [[59135]] รูป Slot เทียบระหว่าง PCI Express x16 กับ PCI Express x1 ส่วน PCI-X เป็น Technology Bus ที่ใช้ใน PC โดยให้ Chip นั้นแลกเปลี่ยนข้อมูลได้เร็วกว่า PCI แบบเก่า PCI-X ในปัจจุบันมี 2 version PCI-X 1.0 และ PCI-X 2.0 โดย Version 1.0 รองรับในระดับความเร็วตั้งแต่ PCI-X66 ถึง PCI-X133 ส่วนใน Version 2.0 จะรองรับที่ PCI-X 66 ถึง PCI-X 533 ซึ่งจะสามารถส่งข้อมูลได้ถึง 4.2 GB/S โดยตัวเลขที่ต่อท้าย X นั้นระบุถึงค่า MHz ของ clock โดย BUS สำหรับ PCI-X อยู่ที่ 64 Bit
ความรู้เรื่อง ระบบ  BUS เเบบมีภาพประกอบ
...............................................................................................................................................................

FOR Loop In Lab-view
จากภาพจะเห็นว่าภายในโครงสร้างนี้จะมี Terminal อยู่ 2 terminal ได้แก่ N ซึ่งเป็น Count Terminal ซึ่งต้องการ Input ว่าต้องการให้ loop นี้ ทำซ้าเป็นจานวนกี่ครั้ง และ i เป็น Iteration Terminal ซึ่งเป็น Output ที่บอกจานวนครั้งที่จะมีการทำซ้า โดยค่าจะเริ่มจาก 0 สาหรับการทำครั้งแรกและ N-1 สาหรับครั้ง การกำหนดข้อมูลใน Array in lab view กำหนดได้  ไม่เกิน 2 ยกกำลัง 31 ข้อมูลใน Array เป็นได้คือ
  • ตัวเลข 
  • Boolean
  • String   
Data Mining TextBook by ThanarukTheeramunkong, PhD  ( THAI AI )

May 22 2018

  1. The unsigned integer is ตัวเลขจำนวนจริง
  2. MIM assistant have Labview run time engine.
  3. ระบบ Balance ของ Pong  อาศัยหลักการหมุนอย่างคงที่.......Power plant  ( วงจร chart )
  4. สังเกตุการทำงานของเครื่องยนต์  หรืออุปกรณ์ต่างๆทำงานที่สัญญาณ ขอบขาขึ้นหรือที่ขอบขาลง
  5. ยังเอาอุปกรณ์หลายๆตัวมาต่อกันเเล้วคุยกันยังไม่ได้นะวิทยา
  6. How to manage string in lab view and IoT


6.ADUM ทำงานผ่าน RS-485  ( Special IO ) เเละสามารถ run ผ่าน Labview ???

7.ความเเตกต่างของ Bundle and Build Array bundle is just only combination but bundle is Array output , How array can made from integer ?
8. Getput  คืออะไร ?  เกี่ยวกับการ on-off  SW อย่างไร  ( get put is software for link to server that can remove in computer also re install back with in 20 mins   and technician also can switch to indicate direction of server

9.Programming is data transform 0/1 ++++  protocol transform data of device  +++++ Lab view is logical transform for close loop transform also data flow with  behavior in finance or investment  ( that is mathematics model to under stand )

10. Why in electronics circuit must put amplifier in circuit  sink and source in circuit what does it mean ??

11.Nick Baring issue cause bearing struck and her use induction sensor on/off signal  to control position but sensor in wrong position but signal of sensor also still can not checking  status and broken bearing sent effete to  slant / uncontrolled bias angle ( how twin digital can help )

12.Follow up cross transfer Na moo how we know now wiring is good condition   ( logical control)

13.Auto seal apply last seal or seal number 4 to sent data to sea track system because FOF sent data by unload already  , How about CRX double check bar code with sea gate server again if fail will sent fail protocol that mean data incomplete.





May 29 2018

  • White collar หมายถึง คนที่ทำงานในออฟฟิต พนักงานตามออฟฟิต มนุษย์เงินเดือน หรือผู้บริหาร ว่ากันง่ายๆเลยคืองานในห้องแอร์ซึ่ง คำว่า White  ที่แปลว่าสีขาวนั้นมาจากสีเสื้อที่พนักงานออฟฟิต มนุษย์เงินเดือนทั้งหลายส่วนใหญ่จะใส่เสื้อเชิ้ตสีขาวกัน
  • Blue collar หมายถึง คนทำงานที่ไม่ได้ทำในออฟฟิต คนงาน คนใช้แรงงานต่างๆซึ่ง คำว่า Blue ก็จะหมายถึงเสื้อสีฟ้า สีน้ำเงิน ที่พวกช่างตามโรงงาน ใส่กันนั้นเอง
  • AI academy from Microsoft   https://academy.microsoft.com/en-us/professional-program/tracks/
  • My skills future from Singapore   : Link 
  • https://andela.com/
  • www.bitsorce.com   link
  • Estonia good  for education and we can apply for Estonia citizen.



















Update June  ' 25 2018
ทบทวน Lab-view Chula





  • Update BUD 2  machine in L105 with copy sys in C:LMS   change  N ==> Y in config file  and up date   Caution !!! before write config must close LMS program first  Then follow step in trouble
  • Home how to wiring LMS network / LAN / Registry /
     


https://www.facebook.com/Sixclear/
VI high 43 -Learn How to Write a Text File with Labview and Next Error Handerler (Error Handler  )

http://www.brownien_lab.cattelecom.com/index.php

http://www.praphas.com/


Lab view July 07 2018

  • While loop working at lease 1 round
  • How to do professional with lab view define input and output / process flow / error handing / Ram management  / Graphic management
  • In-range 5-10 if value is lower 5 corrected is 5   
  • While output is last value of sequence but for loop is array
  • what is different between array 1D and 2d or3D   in machine learning concerning about 3D vector  

Labview Robotic Home work  ( July 16 )
Multi Hardware and array
How application from fast furrier transform
How to measure Air noise
Micro controller and OEE
Smart Logistic and dot print hardware
Minimize wiring ( Sea controller )
encode and Pule width MOD
PID meaning  / Fuzzy logic meaning
How to use Navigator command





Array after build array is 1D
Please add T / and , to separate data if not data will  show just only one data ( My learning ) and build array should be put string first ===>> if not will show error
apply while loop for image auto focus.
Hiracu of si pa is Array  >> Location

https://labjack.com/low-cost-daq


http://dewninjathai.blogspot.com/p/f.html
การ ควบคุม MOTOR  AI MAGIN

การจัดการเลขฐานสอง  (Aug-07-2018 )

  • ตัวกระทำทางคณิตศาสตร์
  • ตัวกระทำทางลอจิก
  • ตัวกระทำทางบูลีน
  • ตัวกระทำการเปรียบเทียบ
  • ตัวกระทำการประสม

ตัวอย่างตัวกระทำทาง Logic
AND gate ( x = y&z;)
OR gate   ( x = y/z;)
XOR gate  (
NAND gate
NOR gate
NOT gate
<<     x = x << 1;  เลื่อนข้อมูลไปทางซ้าย 1 bit
>>     x = x >> 2    เลื่อนข้อมูลไปทางขวา 2 bit


..................................................................................................................................................
หน่วยความจำถาวร = เป็นหน่วยความจำที่สามารถคงรูปข้อมูลใว้เเม้ไม่มีไฟเลี้ยง เพื่อรักษาคำสั้งหรือ program ใว้เวลามีไฟจ่ายให้ระบบ....computer จะสามารถทำงานได้ จากคุณสมบัติดังกล่าวเราเรียกอุปกรณ์ดังกล่าวว่า ROM ( Read only Memory )  ซึ่งมีอยู่หลายชนิดได้เเก่


  1. ROM โปรเเกรมจากโรงงานเเละลบไม่ได้
  2. PROM  โรเเกรมเองครั้งเดียวเเละลบออกไม่ได้
  3. EPROM โปรเเกรมเองได้หลายครั้งเเละลบได้ด้วยเเสง  UV
  4. E (2) PROM  โปรเเกรมเองได้หลายครั้งเเละลบออกด้วยไฟฟ้า  การเเก้ไขโปรเเกรมทำได้ในระดับ  byte  เเละการเขียนข้อมูลช้ากว่าเเบบ Flash 
  5. FLASH MEMORY : โปรเเกรมเองได้หลายครั้งเเละลบออกด้วยไฟฟ้า สามารถลบหรือเเก้ไขข้อมูลที่เก็บใว้ใน unit ของหน่วยความจำที่เรียกว่า  block  "Flash Memory" หรือ "แฟลชเมมโมรี่" หรือ "หน่วยความจำแฟลช" คือ หน่วยความจำประเภท "นอนโวลาไทล์" (Nonvolatile) ซึ่งสามารถลบหรือแก้ไขข้อมูลที่จัดเก็บไว้ในยูนิตของหน่วยความจำที่เรียกว่า "บล็อก" (Block) ได้ ข้อแตกต่างระหว่าง "EEPROM" กับ "Flash Memory" คือการลบหรือแก้ไขข้อมูล ซึ่ง "EEPROM" จะกระทำในระดับไบต์ ( + address ) หมายความว่า "Flash memory" จะทำงานได้เร็วกว่า

     "Flash Memory" มักถูกใช้สำหรับการเก็บคอนโทรลโค้ด เช่น ไบออส ( Basic Input/Output System; BIOS) เนื่องจากง่ายต่อการอัพเดทข้อมูล อย่างไรก็ตาม มันไม่สามารถนำมาใช้งานแทน "แรม" (RAM) ได้ เพราะแรมต้องการการระบุตำแหน่งในระดับไบต์ ไมใช่บล็อก

     "Flash" เป็นชื่อที่ได้มาจากพฤติกรรมของชิพที่นำมาใช้ ซึ่งสามารถลบข้อมูลที่บรรจุภายในเซลได้ด้วยการกระทำเพียงครั้งเดียว

     .............................................................................................................
  6. ความรู้เกี่ยวกับหน่วยความจำ

โครงสร้างของ ภาษาซี สำหรับ ARDUINO

  • หัวโปรเเกรม
  • ตัวโปรเเกรม
  • ฟังก์ชั่นที่ทำงานครั้งเดียว
  • ฟังก์ชั่นที่ทำงานซ้ำ ( Loop )
  • ฟังก็ชั่นรองที่เขียนขึ้นเอง

HOW INDUCTIONN MOTOR WORK
LEARN ENGINEERING .ORG



WW.32 เรียนจบ Arduino Comdet ( ต่อไปดู PIC + อาจารย์ประภาส เเละ Arm )

  • Logic gate ของเลขฐาน 2  ( AND  , OR ,XOR ,NAND ,NOR ,NOT )
  • 1 เเอน อะไร ได้ 1 
  • O or อะไร ได้ 1 
  • XOR เหมือนกัน ได้  0 ต่างกันได้ 1 
  • วงจรแป้นพิมพ์เป็นวงจรที่เปลี่ยนพลังงานกลจากการกดแป้นพิมพ์เป็นพลังงานไฟฟ้า ในระดับแรงดัน 5 โวลต์และ 0 โวลต์เพื่อเป็นลอจิก 1 และลอจิก 0
#define LED1   10
#define LED2   11
#define LED3   12
#define LED4   13
char LEDs[] = { LED1,LED2,LED3,LED4 };
void send2port (byte data );



void setup() {
  Serial.begin (9600);
  for ( char i = 0 ; i < 4 ; i++ ) { pinMode (LEDs[i],OUTPUT); }

             }


void loop() {
  send2port(0B1000); delay (1000);
  send2port(0B0100); delay (1000);
  send2port(0B0010); delay (1000);
  send2port(0B0001); delay (1000);
            }


void send2port ( byte data )

{
for (char  i = 0; i < 4 ; i++) {
if ( data & 1 ) { digitalWrite(LEDs[i],HIGH);} else {digitalWrite(LEDs[i],LOW); }
if ( data & 2 ) { digitalWrite(LEDs[i],HIGH);} else {digitalWrite(LEDs[i],LOW); }
if ( data & 4 ) { digitalWrite(LEDs[i],HIGH);} else {digitalWrite(LEDs[i],LOW); }
if ( data & 8 ) { digitalWrite(LEDs[i],HIGH);} else {digitalWrite(LEDs[i],LOW); }
}
}



  • How to control port and shift bit 
  • function if ( one way)
  • if สองทางเลือก ( if else )
  • short if  = >> digitalWrite ( LED ,(SW1 == LOW)? HIGH : LOW);
  • if เเบบ หลายทางเลือก ...if else 
  • switch case เเบบ หลายทางเลือก....  

กระพริบเเบบ Function ทีละดวง


# define LED1 10
# define LED2 11
# define LED3 12
# define LED4 13
void pattern1(void);
void pattern2(void);
void pattern3(void);
void pattern4(void);
void setup()
{
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
}
void loop()
{
pattern1(); delay(200);
pattern2(); delay(200);
pattern3(); delay(200);
pattern4(); delay(200);
}
void pattern1(void){
digitalWrite(LED1,HIGH);
digitalWrite(LED2,LOW);
digitalWrite (LED3,LOW);
digitalWrite (LED4,LOW);
}
void pattern2(void){
digitalWrite(LED1,LOW);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,LOW);
digitalWrite (LED4,LOW);
}
void pattern3(void){
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,HIGH);
digitalWrite (LED4,LOW);
}


void pattern4 (void){
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,HIGH);
}

ทางของกู  วิทยา ไชยศล
Logic คุณคืออะไร พี่มี Logic  อะไร


เเยกองค์ประกอบของคนสำเร็จออกมาเเล้ว หาทางเดินของตัวเองทางของกู อะไรคือองค์ประกอบที่ดีของ Python อะไรคือองค์ประกอบที่ดีของ C